Skąd to parcie na nowinki?

0

Ponoć "programista musi się ciągle dokształcać", "wiedzieć, co w trawie piszczy". Z czego to wynika? Dlaczego nie można tworzyć przyzwoitego oprogramowania w oparciu o starsze technologie? Czy koszty tego procesu są warte świeczki? Nie można odświeżać wiedzy "raz na jakiś czas"? Nie sugeruję oczywiście, aby sprzedawać soft działający w oparciu o maszyny elektromechaniczne :), ale czy stałoby się wiele, jakby np. drobne sklepy internetowe działały w oparciu o wersję PHP z przed kilku lat?

0

No cóż, jak się startuje coś od zera to zwykle wybiera się spośród najświeższych technologii, bo to jest dość logiczne. Natomiast już dojrzałe systemy ewoluują niezbyt często, ale jeśli już to w dużych krokach.

Cały czas jest duży dopływ nowych programistów i nowych projektów. Uczenie nowych programistów startych technologii nie ma specjalnie sensu.

0

Po co tworzyć nowe oprogramowanie oparte o starą technologię, skoro są prostsze w implementacji, czytelniejsze. Generalnie wszystko idzie w kierunku, żeby korzystać z gotowych mechanizmów.

0

@ludwig z wielu względów, w szczególności:

  • nowe wersje często zawierają poprawki bezpieczeństwa i bugi
  • nowe wersje pozwalają zwykle pisać szybciej, łatwiej i uzyskiwać lepsze efekty

Postawienie serwisu na starej wersji danej technologii może spowodować nadużycia, hacking, cracking bo błedy w tej starej wersji są dobrze znane.
Jeśli ty oferujesz że napiszesz system w pól roku a konkurencja napisze go w miesiąc i będzie jeszcze ładniejszy, to co wybierze klient? ;]
Ewolucja technologii informatycznych idzie w takim kierunku żeby tworzyć szybciej i wygodniej bardziej skomplikowane rozwiązania. Najpierw ludzie klepali w kodzie maszonowym, potem zamienili to na asemblera który byl bardziej "ludzki". Później często powtarzajace się kody asemblerowe zamknięto w procedurach i funkcjach które można było wołać jedną linijką kodu z języka wyższego poziomu (np. C).
Dzisiaj możesz w minutę postawić aplikację webową, którą 10 czy 15 lat temu klepałoby kilku programistów przez miesiąc.

Poza tym często zmieniają się całe rodziny technologii. Kiedyś komunikacja między aplikacjami to były gołe sockety, później ktoś wymyślił CORBA, dzisiaj na topie są WebSerwisy, a niedlugo pewnie i one odejdą w zapomnienie.

Jak pójdziesz do firmy i powiesz że ty umiesz tylko sockety, ale przecież "tak też można komunikować ze sobą aplikacje" to cię wyśmieją. Tak samo jeśli zaproponujesz że będziesz pisał aplikacje webowe w asemblerze, bo przecież "da się!" ;]

0

No cóż, jak się startuje coś od zera to zwykle wybiera się spośród najświeższych technologii, bo to jest dość logiczne.

To perspektywa zamożnego zamawiającego, nie produkującego.

Cały czas jest duży dopływ nowych programistów i nowych projektów. Uczenie nowych programistów startych technologii nie ma specjalnie sensu.
Jasne. Mówiąc o dokształcaniu miałem na myśli już trochę pracujących, nie nowicjuszy, którzy nic praktycznie nie umieją więc wszystko im jedno.

Po co tworzyć nowe oprogramowanie oparte o starą technologię, skoro są
prostsze w implementacji, czytelniejsze. Generalnie wszystko idzie w
kierunku, żeby korzystać z gotowych mechanizmów.

Podobnie jak u Wibowit'a. Oczywiście, że lepiej mieć nowe, niż stare, pytanie jakim kosztem? Nie istnieją projekty mogące z powodzeniem bazować na "przestarzałych", a więc tańszych programistach?

Ewolucja technologii informatycznych idzie w takim kierunku żeby tworzyć
szybciej i wygodniej bardziej skomplikowane rozwiązania. Najpierw
ludzie klepali w kodzie maszonowym, potem zamienili to na asemblera
który byl bardziej "ludzki". Później często powtarzajace się kody
asemblerowe zamknięto w procedurach i funkcjach które można było wołać
jedną linijką kodu z języka wyższego poziomu (np. C).

Dzisiaj możesz w minutę postawić aplikację webową, którą 10 czy 15 lat temu klepałoby kilku programistów przez miesiąc.

Może to i trochę offtop, ale poproszę o rozwinięcie, bo ciekawe, szczególnie granica tego procesu. Jak wygląda "programistyczna futurologia" w tej kwestii? Nie okaże się zaraz, że połowa programistów idzie do odstawki w związku z tym?

0
ludwig napisał(a):

Ponoć "programista musi się ciągle dokształcać", "wiedzieć, co w trawie piszczy". Z czego to wynika? Dlaczego nie można tworzyć przyzwoitego oprogramowania w oparciu o starsze technologie?

Można, przecież nikt nie broni.

Problemy powstają wtedy, gdy taki programista ze starożytną wiedzą chciałby zmienić pracę, ale nikt go nie chce, bo okazuje się, że tak naprawdę nie potrafi niczego obecnie przydatnego.

ale czy stałoby się wiele, jakby np. drobne sklepy internetowe działały w oparciu o wersję PHP z przed kilku lat?

A jak takie coś wygląda od strony wydajności, i bezpieczeństwa?

ludwig napisał(a):

Nie istnieją projekty mogące z powodzeniem bazować na "przestarzałych", a więc tańszych programistach?

Jeśli w nowszej technologii wykonanie jakiejś aplikacji zajmuje 5 programistom 3 miesiące, a w starszej potrzeba 15 programistów i 6 miesięcy, to o ile mniej trzeba zapłacić tym drugim?

0

Skoro wydajność pracy w nowej technologii jest aż o tyle razy większa, to chyba rzeczywiście nie ma kwestii. Myślałem, że to dużo mniejsze liczby. Skoro jednak jest tak jak mówicie, to kwestia kryzysu zatrudnienia w branży wydaje mi się jeszcze ciekawsza. Jak na chwilę obecną tempo wzrostu popytu musi co najmniej równać się tempu wzrostu wydajności technologii skoro "programistów jak na lekarstwo". Pytanie, czy długo tak będzie? Znacie jakieś sensowne prognozy w tej kwestii, najlepiej z uzasadnieniem (aby zaspokoić ciekawość, nie weryfikować)?

0

Oprócz kwestii biznesowych dochodzą jeszcze takie kwestie jak zadowolenie programisty, na co składa się zarówno wygoda programowania, ilość denerwujących pierdółek (na przykład zabugowany i niemal nierefaktoryzowalny kod) czy w końcu poczucie spełnienia (sense of achievment/ accompilishment). Jako że robota na etacie to praktycznie połowa życia (nie licząc spania) to programista chciałby żeby było to coś ciekawego. Widząc nowe rozwiązania następuje chęć ich wykorzystania, bo dzięki nim jest mniej rutynowej roboty, a więcej tego co tygryski lubią najbardziej, czyli puszczania wodzy wyobraźni :)

0

bez przesady z tymi nowinkami. Oprócz wydajności w tworzeniu kodu jest jeszcze kwestia potrzebnych inwestycji po stronie klienta. Z mojej działki mogę powiedzieć tylko tyle, że dla aplikacji rozwijanej przeze mnie w ASP.NET rezygnacja np z obsługi IIS 6 na rzecz IIS 7 i przejście na MSSQL nowszego niż 2005 nie jest możliwa ze względu na bazę sprzętowo/OS na której jest on instalowany. Lokalnie zdarzają się jeszcze nawet aplikacje utrzymywane w wersji MSDOS na bazie Clippera (dBase)

0

Owszem zabytki nawet często podlegają renowacji, ale w przypadku np aplikacji webowej zgodnej ze standardami absolutnie nic cię nie trzyma przy danej wersji programu. Po stronie serwerowej (czyli twojej) możesz aktualizować technologie tak często jak tylko wyrabiasz, a klienci generalnie nawet nie powinni być tego świadomi. Obecnie masa rzeczy ewoluuje w kierunku standardów webowych, więc możliwe, że parcie na nowinki będzie coraz większe.

0
ludwig napisał(a):

Skoro wydajność pracy w nowej technologii jest aż o tyle razy większa, to chyba rzeczywiście nie ma kwestii. Myślałem, że to dużo mniejsze liczby. Skoro jednak jest tak jak mówicie, to kwestia kryzysu zatrudnienia w branży wydaje mi się jeszcze ciekawsza. Jak na chwilę obecną tempo wzrostu popytu musi co najmniej równać się tempu wzrostu wydajności technologii skoro "programistów jak na lekarstwo". Pytanie, czy długo tak będzie? Znacie jakieś sensowne prognozy w tej kwestii, najlepiej z uzasadnieniem (aby zaspokoić ciekawość, nie weryfikować)?

Nowe rzeczy pisze się w nowych technologiach, a stare utrzymuje się w starych, z ewentualnie małymi unowocześnieniami. Praca jest w jednych i w drugich, o to nie trzeba się martwić. Po prostu lepiej się rozwijać dla własnego bezpieczeństwa, bo nie wiadomo, co przyszłość przyniesie, no i frajdy.

0

Może to i trochę offtop, ale poproszę o rozwinięcie, bo ciekawe, szczególnie granica tego procesu. Jak wygląda "programistyczna futurologia" w tej kwestii? Nie okaże się zaraz, że połowa programistów idzie do odstawki w związku z tym?

Pisałem kiedyś o tym ale nie mogę znaleźć. W wielkim skrócie: nie. Od lat ludzie tak wieszczyli że rozwój informatyki i narzędzi do automatycznej generacji kodu oraz reużywalnych komponentów spowoduje że programiści nagle stracę pracę. Ale trend jest zupełnie przeciwny ;) Chodzi o to że dzisiaj zamiast szybko pisać proste programy, jakie pisało sie X lat temu, pisze sie dużo bardziej skomplikowane systemy.
Kiedyś za grubą kasę można było kupić jakiś bardzo mały i prosty system, bo jego napisanie było bardzo zlożone i czasochłonne. Dziś nikt takich systemów nie kupuje, bo kupuje się systemy dużo większe i bardziej złożone. Więc praca dla koderów nadal jest :)
Poza tym rozwój informatyki sprawia że zaczyna ona być potrzebna i przydatna w kolejnych dziedzinach nauki. Niektóre dziedziny sama "generuje". To trochę jak z tym kiedy ludzie dawno temu obawiali się że wprowadzenie robotów do fabryk spowoduje że ludzie pójdą na bruk. I niby jest to prawda -> ludzi pracujących przy taśmach jest niewątpliwie dużo mniej, bo sporo robią roboty. Ale to sprawiło tylko że ludzie zmienili stanowiska na inne - teraz nadzorują i budują te roboty.
Tak samo w informatyce - dzisiaj nie trzeba żmudnie dziergać pewnych rzeczy w niskopoziomowym języku, tylko generuje się je dwoma kliknięciami, a dzięki temu programiści mogą zająć sie czymś ciekawszym i mogą tworzyć systemy dużo bardziej złożone :)

0

Najfajniejsze sa sytuacje, gdy w ogloszeniu i na rekrutacji dominuja najnowsze technologie, a pozniej laduje sie w 20 letnim legacy code (tutaj chyba jestem wyjatkiem bo lubie pracowac z takim kodem, wydaje mi sie to wiekszym wyzwaniem by cos dobrze zrobic).

1 użytkowników online, w tym zalogowanych: 0, gości: 1