Rozwój programisty - co dalej?
17 stycznia 2008Kategorie:
Od paru dni myślę i myślę. Oto co wymyśliłem
Na początku był HTML. Tak, tak wiem - HTML to nie język programowania, ale od tego się zaczęło, już w podstawówce. Podglądanie kodów źródłowych stron, pierwsze próby własnego tworzenia. Najpierw ramki, potem w gimnazjum tabelki, od jakiegoś czasu CSS itp. W między czasie w gimnazjum pojawiło się u mnie PHP wraz z MySQL. Podobnie jak w przypadku HTML - przeglądanie źródeł, przerabianie ich. Pierwszą “poważną” sprawą było przerabianie Galaxytool (takie tam do OGame.. stare dzieje). Obecnie trochę komercyjnie zajmuję się tworzeniem stron/sklepów internetowych. Jak niektórzy już wiedzą ostatnio poznałem framework Symfony. Oprócz tego jeszcze Javascript (jQuery). W szkole poznałem podstawy C++, a hobbystycznie trochę C#.
To tyle słowem wstępu wyjaśniając moją sytuacje. Do czego zmierzam?
Chciałbym poznać i nauczyć się czegoś nowego, czegoś co może się przydać. Dlaczego? Klepanie www nie przynosi mi już tyle satysfakcji co kiedyś. Chciałbym spróbować czegoś innego. .NET jakoś do mnie nie przemawia. Może powinienem wziąć się za Ruby? A może za Pythona? Czy może też lepiej poznać dogłębnie architekturę Unixa? A może lepiej za C++ albo Jave? A może zupełnie co innego?
Nie wiem. I to jest największy problem - nie mam pojęcia co ze sobą zrobić. Nie wiem co chce robić w przyszłości, raczej coś związanego z IT ale nic sprecyzowanego.
Wiem jedno - czegoś muszę się zacząć uczyć, bo mam wrażenie, że marnuje czas.
Jakieś pomysły?
30 komentarzy
Prolog, Clipse, Lua Lua - masz dużo niewygodnych języków :P
A tak na serio to : Ruby a potem sam znajdziesz własną drogę. Najprawdopodobnie wybierzesz drogę przez ..Javę :)
Chce się uczyć czegoś co ma przyszłość. PHP w obecnej formie, pomimo sf według mnie tej przyszłości nie ma.
Przyszłość...zawsze obstawiałem SI jako przyszłość. Trudno tu o jednoznaczne zdanie. Ja bym specjalizował się w tym co jest rzadkie na rynku.
Od serca polecam wszystko co związane ze Sztuczną Inteligencją - naprogramujesz się tam za wszystkie czasy, oprócz tego przejrzyj oferty pracy firm związanych z informatyką a będących firmami zagranicznymi - czasem wyprzedzają nas o kilka lat.
Na początek Java a potem coś innego, zawsze Java się przyda i jest nawet miła.
Nie no, z tymi ofertami pracy to bez przesady - najpierw wypadałoby zdać mature ;]
W takim razie Java, potem liżnij troszkę assemblera(dla skręcenia umysłu w Ciemną Stronę) następnie ponarzekaj na Ubuntu, pod koniec pomyśł co naprawdę lubisz robić na komputerze i idź w tym kierunku :)
Java jest jak kobieta - lepiej wiedzieć jak używac :>
ASP.NET (i w ogole cala platforma .net) ma przyszlosc i jest latwe w nauce.
Do Javy mam opory.. kojarzy mi się z zamulającymi programami i wieczną "zwiechą"...
Erlang? XD
"HTML to nie język programowania" -- a co to jest język programowania?
Jak chcesz coś kosmicznego, to OCamla polecam.
Chcesz w przyszłości programować? Naucz się kilku języków programowania. Najlepiej różnych, najlepiej dobrze, a wszystkie inne języki 'nauczą się' same. Mi po trzecim językuprogramowania przestało robić różnicę w czym piszę, wystarczy dzień/dwa na poznanie składni, i na pewno da się potem coś sklecić (nie będzie to na pewno ideał, ot np przy javie trzeba się nauczyć potwornie dużej biblioteki standardowej, a po kilku latach pisania w pythonie różnych rzeczy jego biblioteki standardowej całej ciągle nie znam).
Do tego warto w międzyczasie poznawać algorytmikę, poczytać o wzorcach projektowych, struktury danych etc etc etc.
A jeśli nie wiążesz przyszłości z programowaniem to mimo wszystko najpierw powinieneś się określić ;)
Jeżeli chcesz znaleźć pracę jako programista - ucz się Javy, tylko jest z tym jeden problem - powiedzieć wśród znajomych "programuję w Javie" to tak jakbyś rodzicom powiedział "mamo, tato, jestem gejem" ;-) C# to bardzo dobre rozwiązanie - ale zależy do czego dążysz. Jeżeli chcesz pracować dla firmy zajmującej się tworzeniem aplikacji 3D (wizualizacje, gry) to raczej C++ ponieważ wsparcie dla DX w C# jest mało stabilne a sam wynik mniej wydajny. Aplikacje biurowe? C#, Java.
Poznawać architektury *nixów dogłębnie nie masz co, bo od tego są już tłumy ludzi (dla przykładu: na mojej uczelni na zapisanie się na specjalizację "bazy danych" było 6 chętnych (w tym ja) - nie powstała, "zaawansowane programowanie" - 9 chętnych (w tym znów ja:P) - nie powstała, "teleinformatyka" (światłowody, telefonia mobilna etc.) - 15 chętnych, powstała, teraz jest nas może 9 na semestrze ;-). A sieci było tyle, że utworzyli 4 grupy. Sam widzisz gdzie dziura będzie w rynku za kilka lat.
Jeżeli chcesz rozwijać się w stronę web-developera - PHP, ew. ASP.NET - nie warto jako główny nurt obierać czegoś (RoR) co nie jest jeszcze (i długo nie będzie) w polskim Main Stream, no chyba, że już znasz Ruby, to wtedy FRAMEWORK (a nie język programowania) RoR będzie przystępniejszy.
albo django :D
Akutalnie polecam pobawić się w Ruby ;)
Zawsze to coś nowego i sktuecznie pochłania czas (nie marnując go) ;)
ps. a jeśli mówisz, że podstaw C++ nauczyłeś się w szkole, to jeśli robiłeś tylko to co robimy na zajęciach to polecam dalej i dalej uczyć się C++ xD
@MG: co jest kosmicznego w OCamlu? Akurat jeśli idzie o paradygmat funkcjonalny to OCaml jest bardzo przeciętnym językiem. Właściwie jest to język funkcjonalny z elementami obiektowo-strukturalnymi. Ciekawszymi przykładami są SML czy choćby Haskell albo wspomniany już Erlang.
Brainfuck może, co? ;p
Ja polecam Ruby. To fantastyczny język. Pisze się w nim bardzo przyjemnie. Na rynku brakuje programistów znających ten język. Do tego dochodzi cała magia Railsów i kolejnych powstających frameworków. Ruby jest w pełni obiektowy, z niego potem będziesz miał łatwe przejście na coś używanego w enterprise: Java, .Net. Ma duże możliwości jeśli chodzi o metaprogramowanie. Warto zainwestować czas w Ruby.
A to ja tylko dodam jeszcze. w Bydgoszczy jeśli byś szukał pracy to tylko .Net, Java i PHP. Może Lucent ludzi od C++ ma. A tak to Atos, BSB Java i .Net. Oferty Ruby z Bydgosczy nie widziałem i nigdy nie słyszałem o firmie co by robiła w Ruby cokolwiek w Bydgoszczy.
@ein - HTML jest językiem opisu dokumentu
Brainfuckiem to się pobawię na emeryturze :P
Jak na razie nie wiąże przyszłości z Bydgoszczą. Pewnie pójdę w kierunku Ruby/Java. Poleci ktoś jakąś dobrą sprawdzoną literaturę?
a czemu nie python/django? :-)
@teamon: ja nie pytam, co to jest HTML, tylko co to jest język programowania. Dopiero dalej zapytam, dlaczego wobec tego HTML nie jest językiem programowania.
HTML (ang. HyperText Markup Language, pol. hipertekstowy język znaczników) http://pl.wikipedia.org/wiki/HTML & http://pl.wikipedia.org/wiki/Język_programowania & http://pl.wikipedia.org/wiki/Język_znaczników
Jeśli o Ruby chodzi to aktualnie kończe "Wprowadzenie Ruby" Helionu (kupiłem bo była niedroga xD) i całkiem przyjemne wprowadzenie, tak żeby od razu siadać i coś kodzić, a jak sie nazbiera fundusze to pewnie "Programowanie w języku Ruby" tez wydana przez Helion :)
osobiście testuje połączenie ruby z gtk i bardzo fajnie idzie:) php mnie już znudziło, a jak wchłone rubyego to potem ror:)
Ja prace mam (głownie PHP), więc narazie tak bardziej hobbistycznie zaczynam poznawać Pythona... powoli, bo czasu mało.
A tak bardziej użytkowo to zgłębiam linuksa (Debian). Może z czasem w ogóle zrezygnuje z Windowsa... no może postawie go na wirtualce (dobrze być na bieżąco nawet z Windą).
http://jabba.pl/seban/data/2007/05 tutaj kiedyś spisałem kilka linków pomocnych na początku zabawy z Ruby.
Dawaj AutoCAD. ;)
I jak idzie z Rubym? ;-)
Zamówiłem książke ;)
Rubiego poznaj z http://www.ruby-lang.org/pl/ a kup sobie 'Ajax on Rails' Scotta Raymonda (seria ze zwierzątkami O'Reilly) - jest po polsku, zaś z algorytmiki i struktur: 'Java. Algorytmy i struktury danych' Roberta Lafore (SAMS/Helion) tudzież dziadka profesora Wirtha, ale wówczas przykłady będą w Pascalu. Umiejąc C++ umiesz czytać składnię Javy, więc sobie poradzisz. Następnym krokiem może być 'Pragmatyczny programista' - autora nie pamiętam - ewentualnie jakaś książka o testach jednostkowych.. Gdzieś na półce u mnie leży jedna o JUnit.