Nauka języka(ów) na przyszłość

0

Tak więc jestem już w połowie pierwszego roku w technikum informatycznym, od 1 klasy gim. interesuje się programowaniem - najwięcej czasu spędziłem w LUA, na drugim miejscu byłby PHP, a na trzecim - C++. Już z początku wiem, że moje doświadczenie w LUA nigdzie się nie przyda, specjalistów od PHP jest teraz mnóstwo - na tym rynku bardzo trudno będzie się przebić, do tego dochodzą mnie słuchy, że C++ nie ma przyszłości, jest to tylko zaśmiecanie głowy (takie słowa padły z ust mojego nauczyciela). Wspominał on o 'wyższości javy nad c', oraz o w/w braku przyszłości - robiąc mi mały mętlik w głowie, z którego wyszło że na przyszłość nie umiem nic.

I teraz po tej zapierającej dech w piersi historii chciał bym Was spytać - co się na dzisiejszym rynku liczy, jakie są plusy i minusy obecnie popularnych języków, czego warto się uczyć aby później nie kopać rowów.

Dobrze by było, aby ktoś z Was uwzględnił takie małe porównanie na w/w tematy tych języków:
C++, C#, Java, Pascal, Delphi + ew. inne, jeżeli twierdzisz, że są lepsze.

Pozdrawiam, Xadrian.

0

Nie ma lepszych i gorszych. Każdy ma swoje wady i zalety.

0

Co do C# i Javy - jedno i drugie znajdziesz na bardzo bardzo wielu ogłoszeniach o pracę.
Pascala wątpię by jakakolwiek firma wykorzystywała... Zdziwiłabym się bardzo.
A C++ to według mnie po prostu podstawa :) Wypada znać. I wydaje mi się, że wiele firm (na pewno ta gdzie ja pracuję) ma po prostu wiele programów, dawno temu napisanych w c++, które teraz trzeba utrzymywać.

0

A wystarczyło poszukać... na ten temat było już 2390290 tematów tutaj.
Imho nie ma co się ograniczać do nauki jednego języka. Ja bym był przynajmniej za C++ + Java/C# Ogólnie zabawa na lata z nauką

0

Wg mnie:

  • pisanie dużych programów w C/ C++ wymaga nie lada umiejętności, C++ to mało czytelny język, łatwo się w nim pogubić,
  • w PHP klepie się tylko stronki, jeśli już się zakopiesz w PHP to do końca życia będziesz klepał stronki i użerał się z babolami w IE6 (XP wiecznie żywy :P ),
  • Python ostatnio jest bardzo popularny i w zasadzie w ciągu powiedzmy 10 lat powinien być cały czas modny, ja go nie lubię tak samo jak wszystkich innych języków dynamicznie typowanych,
  • Java jest najbezpieczniejszym wyborem (chociaż odkąd Oracle położył na niej łapska to już nie jest tak fajnie), C# jest mniej rozpowszechniony, ale na desktopach z Windowsami wygryza Javę,

Ogólnie polecam Javę jako platformę. Można na nią pisać prawie wszystko - oczywiście oprócz sterowników czy systemów operacyjnych - w końcu Java to platforma programistyczna niezależna od platformy sprzętowej. Oprócz języka Java istnieje setki innych języków na platformę Java, z których polecam oczywiście język Scala.

Summa summarum weź się za naukę języka Java. Idź tutaj: http://download.oracle.com/javase/tutorial/ i walcz.

0

jak już wspomniano, od c++ warto zacząć, bo w językach wysokopoziomowych nie spotkasz się z wieloma prblemami -> głównie wskaźniki, obsługa pamięci, czas życia obiektów, stos, sterta. Znając te zagadnienia po prostu lepiej zrozumiesz o co chodzi w programowaniu. W javie/php/ruby obsługa pamięci jest poza programistą. Nie mówię że staniesz się przez to jakimś mega bosem, po prostu będziesz lepiej wiedział co się dzieje w Twoich programach. Co do przyszłości. Jak poważnie myślisz o programowaniu to pewnie wylądujesz na jakiejś uczelni, wtedy będziesz bliżej ludzi którzy programowaniem zajmują się na codzień i wtedy dowiesz się w czym będziesz programował za kasę. W twoim wieku możesz sobie odpuścić zastanawianie się jaki język da Ci przyszłość, bo to za szybko się zmienia. A jak się często mówi, jak znasz jeden język to każdy następny to kilka tygodni (nie licząc frameworków).
W zasadzie jak chcesz się czegoś uczyć, to chyba po prostu najlepiej algorytmów, matematyki i angielskiego. Ta wiedza na pewno przyda ci się na studiach (angielski w życiu/pracy) i ogólnie nauczysz się myśleć analitycznie + ta wiedza się nie zmienia i można ją wykorzystać w każdym języku programowania.
Fakt że w pracy i tak pewnie tego nie wykorzystasz(algorytmów), jak kiedyś stwierdził mój znajomy: "i tak najbardziej skomplikowane problemy mają poziom sortowania bąbelkowego", a większość algo i tak jest zaimplementowana i po prostu "układa się klocki"
Osobiście bardzo ambitnie uczyłem się c++ na pierwszych latach studiów. A teraz co, w pracy programuję w javie w bibliotekach innych niż sam przypuszczałem kiedy się javy uczyłem, a c++ to już ze 2lata na oczy nie widziałem.
Przy okazji warto przeczytać: http://www.devblogi.pl/2009/09/niebezpieczne-java-szkoy.html
Tak naprawdę to nie język da Ci przyszłość tylko jego frameworki, biblioteki. Sprawdź oferty pracy dla javowców. Co zobaczysz? Wymagania spring,hibernate, jsp,struts, ejb itd.
Podsumowując, ucz się matmy i algorytmów i uderzaj na olimpiady, konkursy programistyczne/matematyczne. W takim przypadku będą ludzie którzy będą kontrolować proces Twojej nauki, a wybór narzędzia zostaw na później.

a swoja drogą to chyba najlepiej zrobisz budując bazę w domku na drzewie i przygotowując obronę ziemi przed Yog-Sothoth, Cthulhu czy innymi Przedwiecznymi, napracować się w życiu i tak jeszcze zdążysz, więc korzystaj z życia bo później to się nawet wyspać nie będziesz miał czasu.

0
moskitek napisał(a)

jak już wspomniano, od c++ warto zacząć, bo w językach wysokopoziomowych nie spotkasz się z wieloma prblemami -> głównie wskaźniki, obsługa pamięci, czas życia obiektów, stos, sterta.

  1. Żeby to zrozumieć wystarczy C.
  2. W językach wysokopoziomowych też się spotka z tymi problemami.
0

Czy zawsze ludzie którzy uczą/uczyli się C++, w pierwszym zdaniu muszą podkreślić, że C++ to jest podstawą i każdy musi go znać...

0
Adaś Miauczyński napisał(a)

Czy zawsze ludzie którzy uczą/uczyli się C++, w pierwszym zdaniu muszą podkreślić, że C++ to jest podstawą i każdy musi go znać...

Tak, medycyna jeszcze nie zna na to lekarstwa.

0

IMHO C to podstawa, C++ bynajmniej.

1

Już z początku wiem, że moje doświadczenie w LUA nigdzie się nie przyda, specjalistów od PHP jest teraz mnóstwo

Ja bym proponował przestać patrzeć na wszystko w kategoriach „przyda” i rynku pracy. Oczywiście że się przyda: poznałeś w praktyce algorytmy, struktury, różne wzorce projektowe.
Ponadto ogłoszenia o pracę często są w taki sposób zakłamane: piszą że potrzebują programisty C++, a potem się okaże że w C++ to jest napisany ich program, a ty będziesz pisał do niego skrypty – np. w LUA. Przy rekrutacji patrzą na słowa kluczowe w twoim CV i zadają pytania. Sęk w tym, że nie możesz wiedzieć, czego dokładnie oczekują: więc um dużo i zdaj się na przypadek.
Oprócz języków programowania zapoznaj się z narzędziami okołoprogramistycznymi: systemy kontroli wersji (choćby SVN), UML i narzędzia CASE — to ostatnie to nuda straszna, ale to naprawdę jest wykorzystywane…
i nie patrz na ogłoszenia cały czas, tylko się ucz, ćwicz, chłoń wiedzę: jak będziesz dobry to ogłoszenie cię samo znajdzie.

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