[ EmmaR @ 31.01.2013. 23:43 ] @
Konkretno: koji sistem imate oko pamćenja različitih sintaksi?
[ Predrag Supurovic @ 01.02.2013. 00:27 ] @
Nemam nikakav sistem. Prosto se prebacim. Ko kad pričaš strani jezik.
[ Nedeljko @ 01.02.2013. 10:26 ] @
Sistem se zove pisanje programa na tom jeziku. Nema drugog.
[ nnn @ 01.02.2013. 13:59 ] @
Sve sem objective c. Najruzniji programski jezik ikada.
[ Nedeljko @ 01.02.2013. 15:05 ] @
Fortran?
[ EmmaR @ 01.02.2013. 17:20 ] @
Citat:
Nedeljko: Fortran?


Šta sa Fortranom?

Pretpostavljam da sve dolazi na svoje mesto sa (velikim) iskustvom, tj sa čestom primenom istih.

Zvanično, ("u neko davno prošlo vreme") učila sam Fortran, C, Clipper i Cobol. Od toga najbolje sam savladala Clipper i Fortran i jedno vreme sam pisala programčiće za svoju dušu i par nekih u Clipper-u koji su našli (privremenu) poslovnu primenu.
Između ostalog, Clipper je bio glavni "krivac" za jedan posao koji sam uradila brzo i bez grešaka (da se malo hvalim). Znate li da kada se pomešaju Clipper i Fortran da se mogu dobiti zanimljiva rešenja; da se Clipper i C mogu udružiti; da čak i Clipper ima nešto što se može tretirati kao primitivno objektivno programiranje, da se mogu pisati biblioteke (lib), da postoji način pisanja koda koji podseća na C ?
U Fortranu sam se najviše igrala sa grafikom i matricama ali nisam videla niti sada vidim neku praktičnu primenu istog. Ipak je on suviše tehnički jezik sa jako skromnim mogućnostima za obradu nenumeričkih podataka.
Za C dugo nisam imala kompajler a i ono što sam učila je bilo nešto jako skromno: uglavnom grafika (što je neprimenljivo u Win/Linux okruženjima) i (gotovo) ništa o stringovima. Sada mu se vraćam zbog Linux-a jer je nešto što funkcioniše na (gotovo) svim platformama i danas ima mogućnost da se finalni proizvod našminka i kao takakv učini ne samo funkcionalnim, već i estetski privlačnim krajnim korisnicima (čekajte dok dodjem do makefile i Q: za sada znam da odvojene .c datoteke povezem kompajlerom i da na izlazu rade zajedno kao jedna)
Cobol: on mi je bio nekako najgori sa svim onim DIVISION delovima i čudnom sintaksom koja više liči na pisani engleski jezik nego na programski kod i koja je jako podložna čudnim greškama. Događaj: nas petnaestak se takmičimo ko će prvi da prekuca kod i da iskompajlira program i onda kada je jedna koleginica izašla kao pobednik i pokrenula kompajler ... ih, kada je krenulo da izbacuje greške ... morala je da zaustavi sa CTRL+Break inače bi vrteo ko zna koliko dugo.

Nezvanično, tu su još C++, C#, PHP, JavaScript i Visual Basic (više zbog toga da dopunim znanje oko MS Office, pa krećem ispočetka a ne samo od VBA).

Pitanje je postavljeno iz razloga što pokušavam da sve to nekako sistematizujem na jednom mestu, da kada mi zatreba da mogu bez prelistavanja gomile knjiga (ovde računam i one papirne i elektronske i internet) pronađem ono što mi treba.
I, nešto sam se upetljala jer ima tu dosta razlika. Mada, ako izbacim onu staru trojku (Clipper, Fortran, Cobol) koja nema nikakvu novu primenu (postoje samo stari programi) razlika bi bilo znatno manje.

Na to sam mislila: da li imate nekakve podsetnike za brzo snalaženje? (nemojte samo da pišete kako ne koristite rečnike kada pričate na stranim jezicima)

Nije problem sa grafičkim razvojnim okruženjima, kao što su VisualStudio, Mono, CodeBlocks (Nedeljko, u pravu si, bolji je od Mono,... ne znam što mi se nije svideo na prvi pogled) koji (najmanje) pola posla urade sami, ali kada treba sve uraditi ručno i u najobičnijem tekstualnom editoru, onda je sve mnogo teže (i zanimljivije).

C, C++, C#, PHP, JS imaju donekle sličnu sintaksu a najviše kada su u pitanju petlje. VB glavnom sintaksom podseća na C#, dok su petlje "slične" Clipper-u.

Ima dosta programskih jezika ali nemoguće(?) ih je sve znati. Da li neko koristi ono najnovije MS čedo F#? Jedno popodne igrala sam se malo sa njim: obična konzolna aplikacija za unos i štampu podataka i onaj deo koji podseća na interpretere (i gde je neznatna razlika u sintaksi u odnosu na konzolu). U tom delu me je podsetio na C#.

Da proširim pitanje: Koliko jezika pišete?

Citat:
Predrag Supurovic: Nemam nikakav sistem. Prosto se prebacim. Ko kad pričaš strani jezik.

Ne spominji mi samo strane jezike.
[ Nedeljko @ 01.02.2013. 18:32 ] @
Član nnn je napisao da je objektni C (koji ja nikada nisam učio) najružniji jezik, pa sam ga pitao šta misli o fortranu, koji sam i u srednjoj i na fakultetu morao da naučim za ocenu, a po mom ukusu je jako ružan.
[ mmix @ 01.02.2013. 20:02 ] @
Citat:
Nedeljko: Član nnn je napisao da je objektni C (koji ja nikada nisam učio) najružniji jezik, pa sam ga pitao šta misli o fortranu, koji sam i u srednjoj i na fakultetu morao da naučim za ocenu, a po mom ukusu je jako ružan.


Tu je negde rve se sa cobolom :)

Poenta price je medjutim da ne treba da se fokusiras na sintakse vec na paradigme, kad savladas recimo strukturalno programiranje, sve ostalo su nijanse unutar paradigme, ja recimo nikad nisam koristio python niti proveo vise od pola sata citajuci o njemu ali mogu da procitam i razumem svaki prigram pisan u njemu. Itd. Ako mi ikad bude trebalo da nesto napisem u njemu lagani trening uz dobar komajler zavrsava posao vrlo brzo.
[ EmmaR @ 01.02.2013. 21:00 ] @
Cobol je mnogo gori. U Fortanu je glavni problem sintaksa, ako se posmatra u odnosu na druge jezike, u smislu da je određeno, šta se u kojoj, od koje i u kojoj koloni piše, onda (čini mi se) složenija pravila oko imenovanja promenljivih u zavisno od njihovog tipa, ... ostalo i nisu tako drastične razlike. Na stranu to, što i nema neku primenu.
Ne vidim kako bi mi paradigme (tj. da li je jezik procedularan ili oo) mnogo olakšale sem u smislu da ne pokušam da pišem klase u jezike starije generacije (Clipper, Fortran, Cobol, C, ...) ali to se uglavnom ne koristi više (sem, eventualno, za izmenu/dogradnju već postojećih programa koji sasvim dobro rade svoj posao). Objektno orjentisani jezici bez ikakvih problema se mogu koristiti kao proceduralni.
VB je oo jezik. C++, C#, PHP su takođe oo jezici. Pravila su ista, ali ima sintaksnih razlika.
[code: VB]
FOR ( ... )
...
NEXT
'ovo je komentar
'naredbe i f-je slične C# ali ima i razlika
Console.WriteLine("nesto")
[/code]
[code:C++]
for ( ... )
{
.....;
}
//komentar
//isto važi i za C#,PHP
//naredbe i f-je različite
[/code]
Pošto sam bila zapostavila C, kada sam se vratila... krenula sam sa mišlju da je deklaracija promenljivih slična kao kod C# i tresnula glavom o zid koji se zove STRING: nema stringova, ima samo char a stringovi se švercuju kroz char nizove.

Na ovakve sam razlike mislila i današnju potrebu da programer bude multipraktik+++ .
Citat:
Nedeljko: Član nnn je napisao da je objektni C (koji ja nikada nisam učio) najružniji jezik, pa sam ga pitao šta misli o fortranu, koji sam i u srednjoj i na fakultetu morao da naučim za ocenu, a po mom ukusu je jako ružan.


To je u pitanju. Šta bi rekao da si učio ROMBasic?
Code:

10 PRINT "Unesi a "
20 INPUT a
30 PRINT "Unesi b"
40 INPUT b
50 LET c = a + b
60 PRINT c
70 END
RUN

(vrlo verovatno da sam nešto ispustila, npr deklaraciju promenljivih). Pozoveš interpreter pa ako nešto nije u redu, sve ispočetka. Ako hoćeš nešto drugo, ostaneš bez prvog a isto se desi kada se isključi "računar".

[Ovu poruku je menjao Shadowed dana 02.02.2013. u 00:15 GMT+1]
[ Burgos @ 01.02.2013. 21:44 ] @
Pa sad, ako si učila neki asembler (recimo x86) i njegovo baratanje sa stringovima, C mu dođe kao debela 'ladovina :) - tu pojam stringa nije sintaksno različit, već se konceptualno drugačije pristupa ideji stringa, i to malo ima veze sa sintaksom.

Međutim, evo, ja pored C++-a pišem ponekad nešto u Javi, ponekad nešto u C#-u, ponekad nešto u Pythonu, ponekad se prisetim i Delphi-ja, itd. Naravno, ništa od ovih naknadnih programa ne koristim ni za šta preterano kompleksno - tj. ništa od pravih različitosti i ne primećujem ako radim na projektu manje od dve nedelje (osim što su mi negde stvari koje su mi trenutno potrebe mnogo pristupačnije, dok negde moram da pišem kamaru koda da bih dobio nešto što je u nekom drugom jeziku potpuno trivijalno).

I kako - pa, jednostavno se prešaltam, što kažu. Dva-tri puta napišem foreach u drugom obliku, pogrešno napišem početno slovo main funkcije i slično, i posle pola sata - kao da sam na domaćem terenu.

Kao što sam primetio razlika u stringu između C#-a i C-a nije sintaksne prirode, već je dosta dublja, pa i ne treba da te brine što se tu nisi snašla.

Ne znam za FORTRAN i Cobol itd, iskreno, samo sam pročitao nekoliko desetina linija Fortrana na fakultetu u nekom udžbeniku za DOS (dsp, ne dos dos :) ), i za neke trivijalne stvari sve ovo gore mu dođe isto, ako se koriste u odgovarajućim poljima.

[Ovu poruku je menjao Burgos dana 02.02.2013. u 01:26 GMT+1]
[ EmmaR @ 01.02.2013. 22:54 ] @
Asembler nisam učila i iz nekog sadašnjeg ugla mislim da je pogrešno preskakati ga. Ne bi me onda plašili registri, pokazivači i bit operatori (znam šta je binarni sistem i da vršim konverziju sa osnove 10 na 2, ali opet...). Doduše, nije mi cilj sistemsko programiranje tako da mislim da ovo gore i nije previše važno za neki poslovni program.

To se i meni dešavalo da krenem da napišem nešto na pogrešan način (ispravan za neki drugi jezik) a onda se čudim što se kompajler buni. Kada je u pitanju, grafičko okruženje (forme i tako to) na Win je to isto/slično za bilo koji jezik koji to podržava: ima razlika (neznatnih) u nazivima ali je jako lako pogoditi šta je šta i šta čemu služi. Na Linux-u, MonoDeveloper tu nisam uspela da pohvatam konce što se tiče formi (uspela sam samo da napravim praznu formu i da joj promenim, preko koda, naslov (titlebar)). Qt3 je već nalik Win, ali tu nisam se snašla kako da ga povežem da u pozadini ima neki smislen kod (doduše, nisam se ni trudila nešto posebno).

Trenutno malo aktivnije "šetam se" između C, C++ i VB. C++ : bazirano na starijim kompajlerima kod koji podseća na C (nema stringova) + klase. Noviji kompajleri za C++ više su oo i imaju mnogo više biblioteka i podržavaju: string1 + string2 (imaju stringove).

Sve u svemu, ispade da sam postavila pitanje tipa: Kako da hladna voda postane topla?

Znači, Burgose pišeš 5 jezika: C++, Java, C#, Python i Delphi a prepoznaješ Fortran.

[Ovu poruku je menjao Shadowed dana 02.02.2013. u 00:15 GMT+1]
[ Burgos @ 02.02.2013. 00:16 ] @
Prepoznajem kad ga vidim - nisam baš siguran i da ga čitam dobro:D.

Razne asemblere sam učio, silom prilika, i nije da su mi nešto pomogli u životu (mislim da su mi više pomogle izučavanja principa arhitektura i organizacija računara, mislim da je, u kombinaciji sa jezikom C, i pokazivačima, sasvim dovoljno za razumevanje koncepta računara za prosečnog programera i za kasnije unapređenje znanja po potrebi).

Da - u principu, svi ti jezici (sem C++-a, sa njim radim projekte na koje mogu da kažem da sam trenutno ponosan, i zanimam se za njega, pa stalno malo po blogovima, malo po redditu, malo po knjigama, prezentacijama, i opet ga ne znam, i opet hoću još, i opet me ljudi čudno pogledaju na intervjuima kada kažem da ga ne znam u meri kojoj bih voleo, pa misle da ne umem hello world da napišem) meni uglavnom služe za slične stvari, samo klijenti određuju šta oni koriste, ja se snalazim, plivam, čeprkam i tako to - preživljavam. Iskreno, sa C# sam najbliži, uglavnom zato što sam Javu izbegavao u njegovu korist kada sam mogao. U Delfiju sam pisao koliko i u nekom izmišljenom jeziku za koji smo pisali kompajler na kursu prevodioca - dakle, malo ili nimalo, al' se opet zaradilo.

Međutim, od svih njih, trenutno mi se sviđa Python, a evo i zašto: Već sam rekao da ne radim sa njima ništa spektakularno - tu Python uskače kao sjajan minimalistički jezik, i to ne po sintaksi, već po jednostavnosti izražavanja sopstvenih misli. Dalje, pored svih olakšica koje Python donosi sa sobom - svi sistemski koncepti su preslikani iz jezika u kojima sam već navikao to da radim - trebaju ti multithreading - nema problema, evo, baš onako kako si navikao, a može i lakše. Klijent-server preko socketa - opet isto. A onda - treba ti json ili mysql - evo ti - ništa kompajliranje QJson ili mysql drajvera biblioteka (Qt, mada mislim da je u Qt5 to ugrađeno), treba ti HTML parsiranje - izvoli modul, itd. itd.

Opet, mnogo puta treba napisati neke lagane skripte za Windows i OS X (pa i za Linux) - nema problema - napišeš skript u Pythonu, ako treba neko teško parsiranje, to napišeš u čemu god hoćeš, digneš na server, povežeš sa Pythonom i nema da brineš - fenomenalno iskustvo!

Jedini problem je Python 3/2 kompatibilnost sa čim imam pomalo negativnih iskustava kada su gotovi moduli u pitanju.

I na kraju - ovo sve možda stoji jer imam 23 godine, pa mi nije toliko teško da se "šaltam," a verovatno (sigurno) kod koji pišem nije najbolji, niti pišem neke enterprise aplikacije, pa ne obraćam baš pažnju na efikasnost, detalje (osim čitljivosti i nekih generalnih smernica) - al' ima za 'leba.

P.S. Za sve ovo, dosta su mi pomogle knjige tipa iz serije Effective (Java, C#, C++) - one otkrivaju dosta detalja na koje se treba obratiti pažnja pri korišćenju nekog jezika, a mnogo su dobro pisane i lako se čitaju!

[Ovu poruku je menjao Burgos dana 02.02.2013. u 01:35 GMT+1]
[ dragancesu @ 02.02.2013. 09:47 ] @
Ne vidim sta je problem? Pomesas kako se pise? Pogledas manual papirni ili online i resis.

Meni je problem napravila knjiga za C#, na jednom mestu objasnjava kako nesto uraditi preko wizarda, ja gledam nema, pitam drugara koji zna c# ali to nije nasao, instaliram noviju verziju visual studia, i nema. Nastavio sam dalje da gledam c# i poceo da skidam video uputstva i gle cuda, u jednom je bilo prikazano to sto nisam nasao. Ali to je bilo u VisualBasicu. Onda sam shvatio da je kod basica i c# dosta slican i autori to lako pomesaju. Tako da bez brige, nije strasno ako se nekom desi da pomesa
[ abitbp6_ @ 02.02.2013. 10:43 ] @
Vrlo lako. Moj set je C, C++, C#, Delfi, Java, Perl, PHP. Dešava se da pomešam neke fje, zaboravim parametre, redosled i sl, ali to se sredi nakon dan-dva uhodavanja. Od referenci nemam ništa posebno, samo IDE i help koji dolazi uz alate je dovoljan. Gledam da koristim IDE i pomoćne alate (npr generatore koda) za dati jezik kad god mogu. Code completition mi je desna ruka.
[ Nedeljko @ 02.02.2013. 12:17 ] @
Citat:
abitbp6_: Od referenci nemam ništa posebno, samo IDE i help koji dolazi uz alate je dovoljan.

Jesi li siguran da ti google nije potreban?
[ RexGrammer @ 17.03.2013. 01:18 ] @
Citat:
nnn:
Sve sem objective c. Najruzniji programski jezik ikada.


Ocigledno se nisi susretao sa LISP-om.
[ Shadowed @ 17.03.2013. 18:37 ] @
Citat:
Nedeljko:
Citat:
abitbp6_: Od referenci nemam ništa posebno, samo IDE i help koji dolazi uz alate je dovoljan.

Jesi li siguran da ti google nije potreban?

Ne znam za njega, ali meni nije. Meni Bing radi posao sasvim ok vec vise godina.
[ Nedeljko @ 17.03.2013. 20:25 ] @
Jesi li siguran da ti ne treba? Hajde ukucaj u oba ovo

exp((-(((x-4)^2+(y-4)^2)^2))/1000)+exp((-(((x+4)^2+(y+4)^2)^2))/1000)+0.1*exp(-(((x+4)^2+(y+4)^2)^2))+0.1*exp(-(((x-4)^2+(y-4)^2)^2))

pa da vidimo koji daje smislen rezultat.
[ Shadowed @ 17.03.2013. 21:04 ] @
Sisati grafikoni nisu deo mojih programerskih potreba :)
[ Rapaic Rajko @ 18.03.2013. 12:03 ] @
Na temu: par dana uhodavanja prilikom switch-a, da se "ruka odvikne" od prethodne sintakse, i to je to. Sto me podseti da nisam odavno pisao neki C/C++ kod :(...

Za diskusiju o jezicima. Dodao bih da se ovde prilicno zapostavlja osnovni/izvorni pascal, jezik koji je Niclaus Wirth stvorio "da bi naucio i podstakao svoje studente da pravilno razmisljaju". Jos pamtim citat iz umetka Dejana Ristanovica "Sa bejzika na pascal": ako znate pascal, razumecete skoro sve danas poznate jezike, cak i pseudo jezike (kojima se opisuju algoritmi). Istina je da danas retko vidjam parce koda koje ne mogu da citam/razumem, ali pisanje je nesto drugo ;) .

Pozz