Ccko & Other - bylo:Kniha Udelejte si z PC

vicek.radek@ozjc.cpost.cz vicek.radek
Středa Březen 17 14:26:07 CET 2004


>Zdravim,
>
>koukam ze uz tu dlouho nebyla zadna flamewar, toz smele do toho ;-))

To jsou skoro silna slova. Tak horky to zase nebude... :-D

>Jazyk C ma syntaxi ktera umoznuje velmi usporne vyjadrovani. Mate pravdu v 
>tom
>ze pokud nekdo pise jako "prase" tak je docela problem se ve zdrojovem kode
>vyznat.

To plati pro vsechny jazyky bez rozdilu. Nicmene myslim, ze velmi usporne 
vyjadrovani je na ukor pochopitelnosti pro lidi, kteri s C nedelaji a i pro 
ty co se jej uci. Nedelalo mi behem jednoho tydne samostudijem prejit z 
Pascalu do VB nebo z PowerBuilderu do Delphi. Vsechny jazyky jsou sice 
rozepsanejsi, ale syntaxe je snaze citelna hlavne pokud casto prechazite z 
jednoho jazyka do druheho. Ja treba vetsinu casu se pohybuji ve vyvojovych 
nastrojich pro SQL, ale obcas potrebuji nejakou utilitku a pak sahnu bud pro 
VB nebo Pascal v pripade DOS.

>Je take pravdou ze prace s pointery muze byt osidna, zejmena pokud
>vyvyjite pod systemem (DOS) ktery nema ochranu pameti - pak se chyby 
>hledaji
>opravdu spatne. Co nechapu je to srovnavani s Javou ktera naopak zadne 
>pointery
>nema - pracuje pouze s referencemi a o uvolnovani pameti se stara garbage
>collector (kazda instance objektu ma citac kolikrat je referencovana).
>Pominu-li to, ze prosty jazyk C neni objektovy (mate patrne na mysli C++ 
>nebo
>ObjectiveC) tak nechapu tu poznamku o machinacich s konstruktory???
>
Samozrejme, ze jsem mel na mysli C++ a v pripade JAVA jsem mel na mysli 
"duslednost" napr. v objektovosti, ktera mi pripada mnohdy az skoro 
prehnana. Velke mnozstvi objektu, trid, vazby mezi nima atd.. Musite se 
"sklonit" a kouknout z pohledu zacatecnika, kterej se snazi napsat svuj 
prvni program v JAVA. Musi byt proste zavalen mnozstvim informaci, ktere 
musi vstrebat, aby mohl zacit neco psat (nemyslim aplikaci typu "Hello 
world"). Me nebo vam to treba neprijde, ale vzijte se do role cloveka, 
kterej si rekne tak a ted se naucim programovat v JAVA nebo C++.
Vynikajici vymysl (urcite to nekde okoukali) je "intelli sense" pri psani 
zdrojaku kdy po tecce vam vyjede seznam dostupnych metod, vlastnosti atd. 
coz je pro cloveka kterej s tim dela jen obcas nebo se uci k nezaplaceni.

>
>Napada me hned nekolik duvodu proc sahnout po C a nikoli VB:
>
>- dostupnost (mnohdy free) prekladacu na rade platformach (Win, Unix, ...)
>- krizove prekladace (napr. pro PalmOS, WinCE, uP, DSP, ...)
>- prenositelnost zdrojovych kodu

Ano psal jsem o specialnich pripadech, tady opravdu jinou moznost asi 
nemate. Vse zalezi na tom co je predmetem vasi cinnosti. Pokud pisete z 
valne vetsiny pro WinCE tak je vam VB na nic.

>- snadna konfigurovatelnost pri prekladu (preprocesor, Makefile)
Muzete srovnanat snad pouze klasicke EXE. Nepocitam li prvky ActiveX apod. 
VB nic jineho neumi. Na druhou stranu je umi velmi dobre a rozhodne 
rovnocenne s C++. Tusim, ze od VB6.0 je konecna faze prekladu v rezii 
identickeho prekladace jako u C++.

>- snadna tymova spoluprace na jednom projektu

V to si jsou VB a C++ rovnocenne.

>- flex, ANTLR, atd. - generatory lexikalnich analyzatoru a parseru

Ano, kazdy jazyk je na neco jineho, ja bych si na treba na SQL DB C++ take 
nevybral.

>- konzolove aplikace lze vyvyjet i za pomoci textoveho terminalu ;-)

To jsou extremy, proc kdyz v podstate nenarazite na PC kde nebezi nejaka 
okna.

>VB je pouze alternativa pri vyvoji nekterych aplikaci pod windows
>ale rozhodne ne rovnocenna nahrada.

To nikdo netvrdil, puvodni rec sla o tom proc se lidem nelibi Ccko. A podle 
pravidla proc si brat na neco palici kdyz to jde kladivkem mi zatim na 
vetsinu veci stacil VB.

Ono uz je to videt i na tom jakym jazykem vetsina programatoru (treba na 
skolach) zacina. Na 99% je to vzdy Pascal. Je ukecanej, ale kazdemu kdo 
ovlada par anglickych slovicek musi byt jasne o co jde. Z neho muzete 
okamzite bez problemu jit na Delphi a s malym zapracovanim napr. do VB. 
Prechod do C++ je daleko problematictejsi uz jen kvuli jine syntaxi.

RadekCX





Další informace o konferenci Hw-list