Názory na prog. jazyky?

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1966
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Názory na prog. jazyky?

Příspěvekod domitea » 16 dub 2014 09:04

Pokud se chceš naučit programovat a vybíráš si programovací jazyk, tak na to jdeš ze špatné strany!

Programování totiž není jen o programování. Programovací jazyk je až na posledním místě.

Programování je spíš o způsobu myšlení, o tom, jak efektivně napsat kód, jak ho dobře navrhnout (programátor Mel by mohl vyprávět..).

Co se týče programovacích jazyků, tak každý se hodí na něco jiného, protože byl k jinému účelu vytvořen. Takže, nevybírej si programovací jazyk a začni programovat. Stačí k tomu tužka a papír. Ne, nedělám si srandu, jsou to ty nejlepší nástroje programátora o kterých raději mlčí ;)
UNIX je systém jednoduchý, jen musíte být geniální, aby jste tu jednoduchost pochopili. Jedině OSS, vše co napíšu je pod GNU/GPL
Linux je mé koření života. Nikdy nevím, co pokazím! Registered user #550849

Dnešní počítače mi nestačí, pracuji na vlastním

Reklama
Turbína134
nováček
Příspěvky: 48
Registrován: duben 14
Pohlaví: Muž
Stav:
Offline

Re: Názory na prog. jazyky?

Příspěvekod Turbína134 » 16 dub 2014 13:15

A jak s tužkou a papírem vyzkouším svůj program? 0_o

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7359
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Názory na prog. jazyky?

Příspěvekod faraon » 16 dub 2014 16:36

Jak? Co nejdůkladněji. Projít si každou možnost která může nastat ve vývojovém diagramu, zkontrolovat všechny limity proměnných...

A hlavně tě to naučí chápat co se v procesoru děje, zkus si pohrát s tímhle: http://mmm.webz.cz/pocitadla/cgs.html
Jsou tam ke stažení scany, takže si ho můžeš vytisknout i se sadou ukázkových programů.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1966
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Názory na prog. jazyky?

Příspěvekod domitea » 16 dub 2014 20:47

Úplně stejně, jako procesor. Instrukci po instrukci :wink:
UNIX je systém jednoduchý, jen musíte být geniální, aby jste tu jednoduchost pochopili. Jedině OSS, vše co napíšu je pod GNU/GPL
Linux je mé koření života. Nikdy nevím, co pokazím! Registered user #550849

Dnešní počítače mi nestačí, pracuji na vlastním

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Názory na prog. jazyky?

Příspěvekod X » 16 dub 2014 22:44

C# není intepretovaný jazyk, jede na virtuálním stroji: zkompiluje se do meziproduktu (CIL) a to pak šlape jako intepretr (rychlost je mezi interpretem a kompilerem):

Obrázek

Ale vše od MS je takové divné a iritující, jako jejich OS. Na druhou stranu jdou v C a C++ také pěkné prasárny ...

Není BASIC jako BASIC, stejně jako není C jako C. Pure Basic je rychlejší než C# a má přes 1400 příkazů, je v něm možno pracovat i objektově. Na hraní určitě není >>> viewtopic.php?f=11&t=50135&start=22 - navíc je na učení nejlehčí. Pokud v něm chceš dělat prasárny, tak to také jde, autoři zamlčují, že má i GoTo ... ale opravdu v něm funguje. Ale někdy účel světí prostředky :lol:
Naposledy upravil(a) X dne 20 dub 2014 22:37, celkem upraveno 7 x.

Uživatelský avatar
Karrex
Elite Level 10
Elite Level 10
Příspěvky: 9596
Registrován: listopad 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline

Re: Názory na prog. jazyky?

Příspěvekod Karrex » 16 dub 2014 23:24

Možná je to OT, možná ne. Zajímá mě, proč je vlastně GOTO tak hrozný? :-D Slyšel sem o tom už tolik věcí, ale ne žádný příklad, co se může stát, když se bude někdo nudit, můžete mi tu napsat ? :-D Díky
Funguji už jen přes SZ. Sestava v profilu.
Watercooling Club EXOverclocker@HWBot league rank#1 Aprilia Shiver Club BMW ///M Club

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Názory na prog. jazyky?

Příspěvekod X » 17 dub 2014 04:03

Tak záleží (jako na všem), jak je používáno. Je to skok a když si v programu budeš hodně skákat a všude možně, bez ladu a skladu, za chvíli se ztratíš i sám, natož po nějaké době, nemluvě o ostatních. Já bych to tak nezatracoval, ale chce to střídmost či komentáře. Na Sam Coupé (Sam Basic a Master Basic) jsem si hodně oblíbil procedury, jsou to vlastně vlastní příkazy či makra (posloupnosti příkazů). V manuálu Pure Basicu se cudně zmiňují jen o OnErrorGoTo, ale vyzkoušel jsem, že funguje GoTo label (= návěstí, tedy pojmenované místo kam se má skočit). Doporučuji všem jen tak prolistovat manuál k Pure Basicu, aspoň jeho příkazy, budete hodně překvapeni jak jsou často intuitivní a ze všech možných oblastí, můžete využívat DirectX a stvořit klidně 3D hru, využívat Win API (jen placená verze), všechny klasické Basic příkazy + mnoho dalších ... samozřejmostí v Pure Basicu je například příkaz Sprite (rotace, detekce kolizí, ... příkazy: CatchSprite, ClipSprite, CopySprite, CreateSprite, DisplaySprite, DisplayTransparentSprite, FreeSprite, GrabSprite, InitSprite, IsSprite, LoadSprite, SaveSprite, SpriteCollision, SpriteDepth, SpriteHeight, SpriteID, SpritePixelCollision, SpriteWidth, SpriteOutput, TransparentSpriteColor, RotateSprite, SpriteBlendingMode, SpriteQuality, TransformSprite, ZoomSprite).

P.S.: Přihazuji malou ukázku z manuálu, jak vypadá programování v Pure Basicu (čísla řádku nepíšete, vytváří se automaticky, ale GoTo číslo_řádku mi to nevzalo, jen label):

snap0003595.jpg

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1966
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Názory na prog. jazyky?

Příspěvekod domitea » 17 dub 2014 08:48

Ono vlastně na GOTO jako takovém není nic špatného. V ASM jediná možnost, jak udělat cyklus ;)

Problém je ale ten, že nehorázně, opravdu nehorázně znepřehledňuje kód. Když čteš zdroják, kde na řádku č. 100 máš GOTO 10 a pak hned pod tím GOTO 200, tak co ti to řekne? Nic moc ;) Hledání chyby v programu plného GOTO ani nemluvě :evil:

Kdyžtak Edger Dijskra má o tom výborný článek, zkus si ho vygooglovat ;)
UNIX je systém jednoduchý, jen musíte být geniální, aby jste tu jednoduchost pochopili. Jedině OSS, vše co napíšu je pod GNU/GPL
Linux je mé koření života. Nikdy nevím, co pokazím! Registered user #550849

Dnešní počítače mi nestačí, pracuji na vlastním

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7359
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Názory na prog. jazyky?

Příspěvekod faraon » 17 dub 2014 17:45

X: Víš jaký je rozdíl mezi bytekódem Javy nebo C# zpracovávaným virtuálním strojem, a tokeny BASICu zpracovávanými interpretem? Vůbec žádný :lol:

Karrex: GOTO je špatné protože to říká Dijkstra*, tečka. A proč? Je totiž dokázáno, že jakýkoliv algoritmus je možné realizovat pomocí pouhých dvou základních stavebních prvků, rozhodování (decision) a zpracování (process). Jestli umíš vývojové diagramy, tak rozhodování je kosočtverec, zpracování obdélník. Nic víc skutečně není potřeba, dokonce i volání podprogramů je jen speciální případ zpracování. Jako zpracování se bere libovolný složený příkaz, nebo blok (což je také složený příkaz, jen navíc s lokálními proměnnými) v programu, který musí mít jeden vstup a jeden výstup. A to je věc kterou GOTO porušuje, navíc zbytečně, protože to jde i bez něho.

Jako příklad ti dám rutinu v C++, používající GOTO. I v případě že tenhle jazyk neovládáš, bude ti po jeho prohlédnutí asi jasné že tudy cesta nevede:

Kód: Vybrat vše

int p,k,l,i,j,d,q,R,t,r;
  S1:    s=0; p=1;
  S2:    if (s==0) { i=1; j=n; k=n; l=2*n+1; }
         if (s==1) { i=n+1; j=2*n; k=0; l=n+1; }
         d=1; q=p; r=p;
  S3:    if (x[i]>K>x[j]->K) goto S8;
  S4:    k=k+d; x[k]=x[i]; c[k]=c[i];
  S5:    i+=1; q-=1; if (q>0) goto S3;
  S6:    k+=d; if (k==l) goto S13; else x[k]=x[j];c[k]=c[j];
  S7:    j-=1; r-=1; if (r>0) goto S6; else goto S12;
  S8:    k+=d; x[k]=x[j]; c[k]=c[j];
  S9:    j-=1; r-=1; if (r>0) goto S3;
  S10:   k+=d; if (k==l) goto S13; else x[k]=x[i];c[k]=c[i];
  S11:   i+=1; q-=1; if (q>0) goto S10;
  S12:   q=p; r=p; d=-d; t=k; k=l; l=t; if (j-i<p) goto S10; else goto S3;
  S13:   p+=p; if (p<n) { s=1-s; goto S2; }
         if (s==0) for (t=1; t<=n; t+=1) { x[t]=x[t+n];c[t]=c[t+n] }

Když jsem na něj na hovnokod.cz narazil, poznal jsem ho na první pohled. Je to totiž doslovně převedený program z jedné staré učebnice BASICu, kde kromě cyklu FOR neexistoval jiný způsob než GOTO, jak dosáhnout určitých věcí. Proto také, i když jsem v BASICu začínal a dodnes je to můj nejoblíbenější jazyk, každému radím, aby se mu vyhnul velkým obloukem, jestli to s programováním myslí aspoň trochu vážně. Takhle už se to dneska prostě nedělá, naštěstí.

* To co řekli Dijkstra, Knuth, nebo třeba Wirth, je třeba brát zatraceně vážně, protože jen málokdo věděl tak dobře o čem mluví jako tihle mistři.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Názory na prog. jazyky?

Příspěvekod X » 17 dub 2014 19:37

faraon: Znovu opakuji, že Pure Basic je kompilovaný jazyk, žádný interpretr. A nemůžeš srovnávat moderní (a dobře udělané) BASICy se starými, kde byla instrukční sada osekaná, třeba právě kvůli malé ROM a RAM historických počítačů, například ZX Spectra. Nicméně je pravda, že jazyky od MS nedoporučuji.

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7359
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Názory na prog. jazyky?

Příspěvekod faraon » 17 dub 2014 19:59

To beru, on ten úplně první BASIC v roce 1964 byl také kompilovaný. Jinak ten tvůj kód mi dost připomíná QBasic, i s ním jsem si něco užil. Na něm už se Vilda Branka naštěstí nepodílel, svoje schopnosti vyčerpal na předchozím GWBasicu :lol:
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Názory na prog. jazyky?

Příspěvekod X » 17 dub 2014 20:48

QBasic jsem si kdysi koupil za 2 000 Kč (z druhé ruky), je zcela katastrofální ... a není se co divit, vždyť je od MS. Jako něco v něm dělat jde, ale je celý blbý (nešikovný) a znechutí ... Pure Basic je zcela jiný a dalo by se říct, že je to pokračování (velmi pokročilé) Sam Basicu a Master Basicu ze Sam Coupé, které dělal Andy Wright, stejně jako skvělý Beta Basic (ale pokračovatelům na Sama se nevyrovná) na ZX Spectrum, jestli ti to něco říká ... výhodou Pure Basicu je i to, že je lehce přenositelný mezi Win (32 / 64 bit) / Linux / Mac a AmigaOS (tato platforma se už ale neupgraduje).

http://cs.wikipedia.org/wiki/Beta_BASIC


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti