Smisao učenja više programskih jezika?

poruka: 9
|
čitano: 2.560
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
11 godina
neaktivan
offline
Smisao učenja više programskih jezika?

Koliko sam primjetio, na fakultetu se "pređe" više programskih jezika. Konkretno na mom faksu, predmet Uvod u računala i programiranje (1. semestar) radi se C, predmet Programiranje (2. semestar) radi se C/C++, pa kasnije predmeti tipa Objektno orijentirano programiranje, Programiranje za internet (i još par nekih)...

Shvaćam da to služi kao neki "izlog", ponuda, prikaz što se može naučiti. Ali ima li smisla ozbiljno raditi, bazirati karijeru na više od jednog programskog jezika?

Je li bolje biti usko specijaliziran, ili moći pokriti više područja, npr Javu i C++ (ima li takvih uopće?) ?

Npr. sada radim na faxu C, i zanimljivo mi je, nisam imao većih problema, pogotovo nakon angažiranja u slobodno vrijeme (tutoriali itd). No, svjestan sam da je moje znanje možda 0.1% mogućeg i da imam još godina rada.

No isto tako Java mi se čini zanimljiva (WORA, volio bih nešto za android praviti itd..). Skinuo sam JDK, napravio par banalnih programčića. 

Ali zanima me, ima li mi to smisla raditi? Je li bolje da se držim samo jednog i pošteno naučim taj jedan?

 

Moj PC  
0 0 hvala 0
13 godina
protjeran
offline
Smisao učenja više programskih jezika?

Nažalost danas više nema toga da ćeš raditi u jednom programskom jeziku cijeli život. Ustvari to nikada nije ni bilo tako. A smisao toga je tvoja flexibilnost da radiš u više okružja, da sebi osiguraš više izbora pri traženju posla, a kasnije i veću plaću. To je s ekonomske strane. Sa osobne strane - pa valjda te informatika zanima, pa onda tako sve vezano uz nju. Nećeš valjda sebe ograničavati u tako širokom području, gdje ima milijun zanimljiv stvari koje možeš naučiti i isprobati ;)

Ad astra peronospora
 
5 0 hvala 1
14 godina
neaktivan
offline
Re: Smisao učenja više programskih jezika?

Ovo što je Bypass rekao.

 

Zanima li te to? Ako te zanima onda to nećeš doživljavati kao nekakav mukotrpan proces koji se mora odraditi, nego će te znatiželja odvesti u raznim smjerovima.

0xBADC0DE
Poruka je uređivana zadnji put pon 4.2.2013 18:58 (rustweaver).
11 godina
neaktivan
offline
Re: Smisao učenja više programskih jezika?
Bypass kaže...

Nažalost danas više nema toga da ćeš raditi u jednom programskom jeziku cijeli život. Ustvari to nikada nije ni bilo tako. A smisao toga je tvoja flexibilnost da radiš u više okružja, da sebi osiguraš više izbora pri traženju posla, a kasnije i veću plaću. To je s ekonomske strane. Sa osobne strane - pa valjda te informatika zanima, pa onda tako sve vezano uz nju. Nećeš valjda sebe ograničavati u tako širokom području, gdje ima milijun zanimljiv stvari koje možeš naučiti i isprobati ;)

Sa osobne strane se apsolutno slažem, ne želim se ograničavati u smislu mogućnosti učenja zanimljivih stvari. Iskreno, više me kopkalo to oko ekonomske strane, što se programera tiče, jesu li općenito bolji/  bolje plaćeni oni koji specijaliziraju jedan jezik (i znaju ga bolje nego ovi drugi), ili oni drugi koji se pohvaliti širim znanjem (svašta pomalo).

 

edit : znači tema ukratko Jack of all trades (master of none) VS Specialist 
područje : plaća, potražnja na tržištu

Poruka je uređivana zadnji put pon 4.2.2013 18:58 (lazy_punk).
16 godina
neaktivan
offline
Smisao učenja više programskih jezika?

Dakle, na primjeru onog gdje ti je profesorica tražila da sortirate 2D niz algoritmom za sortiranje, a bez pokazivača.

U stvari to jest dobar pristup, traži da mislite, a u tom jest bit programiranja, da se iznalaze rješenja, to je bitnije od učenja sintakse koju ti nije problem savladati kod jednog jezika ako već znaš drugi. Ako znaš OO kod C++ nije ti problem to naučiti i u C# i Javi, razlike lako pohvataš.

Poruka je uređivana zadnji put pon 4.2.2013 20:15 (Floki).
 
1 0 hvala 0
13 godina
protjeran
offline
Re: Smisao učenja više programskih jezika?
lazy_punk kaže...
Bypass kaže...

Nažalost danas više nema toga da ćeš raditi u jednom programskom jeziku cijeli život. Ustvari to nikada nije ni bilo tako. A smisao toga je tvoja flexibilnost da radiš u više okružja, da sebi osiguraš više izbora pri traženju posla, a kasnije i veću plaću. To je s ekonomske strane. Sa osobne strane - pa valjda te informatika zanima, pa onda tako sve vezano uz nju. Nećeš valjda sebe ograničavati u tako širokom području, gdje ima milijun zanimljiv stvari koje možeš naučiti i isprobati ;)

Sa osobne strane se apsolutno slažem, ne želim se ograničavati u smislu mogućnosti učenja zanimljivih stvari. Iskreno, više me kopkalo to oko ekonomske strane, što se programera tiče, jesu li općenito bolji/  bolje plaćeni oni koji specijaliziraju jedan jezik (i znaju ga bolje nego ovi drugi), ili oni drugi koji se pohvaliti širim znanjem (svašta pomalo).

 

edit : znači tema ukratko Jack of all trades (master of none) VS Specialist 
područje : plaća, potražnja na tržištu

A gle, nema programera na svijetu koji samo radi u jednom jeziku, odnosno, radio cijeli život u jednom. Nema toga. Jednog dana ti šef ili klijent dođe i kaže ja bi to i to, a ti to moraš napraviti ili će netko drugi napraviti umjesto tebe. Ovo je posebno izraženo u web/moble developmentu. Uostalom tebi je puno bolje ako više toga znaš.

 

Plaća sad ovisi, ali onaj koji zna više tako će i biti plaćen.

 

A na tržištu danas rijetko je tražen netko tko zna samo jedno. Uvijek je u kombinaciji sa više stvari. Samo pogledaj oglase.

Ad astra peronospora
Poruka je uređivana zadnji put pon 4.2.2013 20:19 (Bypass).
12 godina
neaktivan
offline
Smisao učenja više programskih jezika?

Ako želiš posao programera, sa C/C++-om ćeš teže naći posao.

Dakle proučavaj .NET, Javu i PHP. Također uči baze podataka i ANSI SQL kao jezik, pa kasnije proučavaj neke servere (MS SQL, MySQL...).

Ugl. ima toga i previše. 

 
4 0 hvala 0
15 godina
neaktivan
offline
Re: Smisao učenja više programskih jezika?
lazy_punk kaže...

Sa osobne strane se apsolutno slažem, ne želim se ograničavati u smislu mogućnosti učenja zanimljivih stvari. Iskreno, više me kopkalo to oko ekonomske strane, što se programera tiče, jesu li općenito bolji/  bolje plaćeni oni koji specijaliziraju jedan jezik (i znaju ga bolje nego ovi drugi), ili oni drugi koji se pohvaliti širim znanjem (svašta pomalo).

 

edit : znači tema ukratko Jack of all trades (master of none) VS Specialist 
područje : plaća, potražnja na tržištu

To je pogresno pitanje.

 

Jezik je jezik, mozes ga nauciti u 20ak dana, plus razne quirkove i trikove u jos dodatnih 20ak. Dapace, ti dodatni quirkovi i trikovi ti cak niti ne daju prednost nego odmazu, jer u pravilu ces koristiti stil kakav koriste tvoji kolege, a pokusavajuci ispasti pametan jer koristis neki obskurni feature u jeziku nece donijeti bonus - nego otkaz.

 

Ono sto odvaja visoko-placenog programera od prosjeka je:

  1. Poznavanje raznog hardwarea, kao platforme na kojoj se kod izvrsava
  2. Poznavanje softwareskih tehnologija samih po sebi
  3. Poznavanje raznih API-ja i iskustvo u odabiru ispravnog APIja za odredjeni posao

 

Sto to znaci, ako recimo zelis raditi u industriji video igara?

  1. Trebas znati da npr. PS3 koristi cell processor i ima duplo manje video memorije od xboxa360, sto utjece na arhitektonske odluke prilikom izgradnje softwarea. Trebas znati zasto je bitno kolocirati podatke u memoriji, i kako funkcioniraju cache linije.
  2. Trebas znati sto je to forward rendering, full deferred rendering i deferred light pass, tiled rendering. Trebas znati razliku izmedju cubemape i 3d teksture, i za sto se koristi jedna a za sto druga. Trebas znati sto je to fullscreen pass i sto je to screenspace efekt.Trebas znati sto je to framebuffer i kakva je razlika izmedju linearnog i logaritamskog depth buffera, i za sto se koristi jedan a za sto drugi. Trebas znati razliku izmedju row-aligned i column-aligned matrica, i kakvu to tocno razliku cini u mnozenju, trebas znati da je inverzija ortogonalne matrice jednaka transpoziciji.
  3. Trebas znati kako inicijalizirati OpenGL/DirectX, OpenAL/FMOD, ocitavati input konstantno ili kroz evente. Trebas znati napisati cross-platform kod koji se moze compilirati/izvrsavati na razlicitim platformama. Trebas znati razliku izmedju raznih compilera.

 

Poanta:

svo ovo znanje je kompletno neovisno o programskom jeziku koji ucis. Ako znas posao, napisati ga efektno mozes u maltene bilo kojem jeziku...

 

 

P.S. Jos samo da dodam ovo: mnogi ljudi programskim jezicima zovu iskljucivo jezike generalne namjene (C, C++, Java, C#, Python, Ruby, etc...) no ako samo malo pomaknes perspektivu, shvatis da maltene svaki config file ili XML file ima svoju sintaksu i svoj utjecaj na software. Tako da maltene, svaki novi veci API/library koji budes naucio, donijet ce sa sobom obavezu ucenja, i samo poznavanje jezika (bio to C++ ili XML) tu pomaze tek da ti napisano ne budu hijeroglifi....

All our needs put together don't bleed on their own... you paid for an eyeful - so behold the bull....
Poruka je uređivana zadnji put pon 4.2.2013 20:39 (Deus ex machina).
11 godina
neaktivan
offline
Smisao učenja više programskih jezika?

Hvala na korisnim savjetima

Moj PC  
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice