Autor Zpráva
Kolibáč
Profil *
Poslední rok jsem strávil programováním, ale programovací jazyky jsem střídal po dvou měsících. Hledal jsem ten pravý.

Potřeboval bych, aby:
* měl příjemné vývojové prostředí (líbí se mi SharpDevelop)
* byl použitelný pod Windows (2000/XP) a pod GNU/Linuxem (Fedora/Ubuntu)
* se v něm daly rychle bastlit nějaké obskurnosti (matematické výpočty, přejmenovávání souborů apod.) i psát větší programy programy s GUI (jednoduchý tabulkový procesor, prográmek pro počítání vzorců v MathML apod.)
* byl rozšířěný i za nějakých pět až deset let, až si budu po škole hledat práci
* měl sympatickou syntaxi (á la Java, Python, nebo Pascal)
* bezproblémově zvládal i objektově orientované programování
* měl garbage collector (nevyžaduji, ale je to pohodlnější)

Vyzkoušel jsem programovací jazyk:
* Pascal, resp. Delphi, FreePascal a TurboPascal
Obyčejný Pascal je zastaralý, nepoužívaný. TurboPascal nezvládá opravdové objekty. Delphi je prakticky nepoužítelné pod GNU/Linuxem.
FreePascal používám, protože běží pod oběma platformami a podporuje OOP a má dostatek potřebných knihoven a s Lazarem lze vyvíjet i programy pro GUI.
A hlavně Pascal je použit ve většině knih o algoritmizaci.
* Céčko
Neumí OOP. Ukazatelová aritmetika je hotové peklo. Vedle Pascalu pro mne nemá smysl.
* C++
Je příšerně složité. Na to nemám nervy.
* Java
Má úžasnou syntaxi a vývojová prostředí, ale bohužel mi přišel šílený systém spouštění souborů a API je poněkud těžkopádné (ale mocné).
* PHP, Javascript, Baltík, BASH
Jsou jednoúčelové, neumí pořádně (vůbec) OOP, nemají slušná vývojově prostředí (v podstatě kromě VIMu pro BASH).
* Python
Úžasný jazyk. Bohužel jsem pro něj zatím neobjevil slušné vývojové prostředí. Časem se k němu snad dostanu.
* C#
Zajímavý, perspektivní jazyk (platforma). Bohužel je zatím omezen na Windows s .NET Frameworkem. Jazyk na mě působí složitě, ale jednodušeji než C++. Má úžasné vývojové prostředí SharpDevelop.
* Perl
Proboha, to snad ne!
* ObjC
Slyšel jsem o něm, mohlo by být zajímavé.

A teď mi prosím poraďte, který si mám vybrat.
Po dobu studií budu určitě muset znát alespoň trošku Pascalu (takže FreePascalu).
Python se mi líbí.
Javu jsem kvůli složitosti vývoje programů a nevhodnosti pro bastlení něčeho obskurního zavrhl.
Z C# jsem rozpolcen. Na jedné straně úžasný SharpDevelop, na druhé straně Micro$oft a příšerná obsáhlost jazyka (atributy apod. šílenosti).
Nebo snad existuje nějaký jiný, lepší než uvedené?
Prosím, pomozte!
thingwath
Profil
C# není až zase tak radikálně obsáhlý. Pascal patří už deset let nejmíň do šrotu. Spíš dvacet. Pokud jde o tu práci, tak volit mezi Javou, C# a možná C++. Ne že by to byly nejlepší nebo nejelegantnější možné jazyky.
Suji
Profil
V podstate sis odpovedel sam. Nakonec nejspis budes volit mezi Javou a C#. A kdyz zbyde cas, tak se budes navic "bavit" Pythonem.
Kolibáč
Profil *
Pascal sice do šrotu patří, ale dokud budu studovat, budu jej muset znát kvůli knihám o algoritmizaci. A na vyjadřování je úžasný. Nic nového pod Sluncem.

C++ je příšerně složité a pokud v něm člověk není úplným mistrem, trápí se (hlavně ukazatele + správa paměti).

Nevím, jak to vypadá s C# pod GNU/Linuxem... Pokud perspektivně, beru a skoro neváhám.

Java. No, upouští se od ní (viz Seznam.cz) a na bastlení obskurností je to trošku kanón na vrabce. Jinak: Warum nicht?

Python vypadá dobře a rozšiřuje se (vždyť na tom jede například NASA, nebo web Seznam.cz). Podívám se na vývojová prostředí (psaní v PSPadu není ideální).

A teď otázka: C#, Javu nebo Python?
Kolibáč
Profil *
Díky za rady.
Tak jsem to vyřešil, viz http://kolibac.blogspot.com/.
Java nemá díky Jythonu smysl.
C# u mě zatím zůstává, možná si na něj udělám čas.
FreePascalu se zatím nevzdám.
roberta
Profil
podľa mňa v programovaní ani tak neide o jazyk, ale o myslenie. samozrejme je dobré podrobnejšie ovládať vlastnosti nejakého jazyka, ale ak niekto vie myslieť "programátorsky", tak z jedného jazyka na iný sa prechádza vcelku ľahko (niekoľko týždňov). a navyše asi každých x rokov vzniká nový jazyk, takže kým skončíš školu, bude sa možno programovať v úplne inom jazyku :) hlavne sa nauč OOP a nebudeš mať problém uplatniť sa...
Inak v tejto dobe sa väčšinou programuje v C/C++, JAVA ,C# ,VB (viď ponuky práce :)
thingwath
Profil
Kolibáč
Ukazatele a správu paměti nevidím jako ten hlavní problém v C++.

Jinak, Packal je prostě šrot. Slušná kniha by měla algoritmy zapisovat v pseudokódu, ne v Pascalu. A když už to musí být konkrétní jazyk, ať je to aspoň Java (i když to je takový moderní pascal) nebo C.
Kolibáč
Profil *
roberta
OOP umím, teorie není problém.
Jenže musím dělat v nějakém jazyce. Ten je zpravidla postaven na nějakém systému knihoven (API), který musím znát. A je jednodušší znát jedno API, než se jednou za čas učit něco nového.
Viz taky Python u Seznamu.

thingwath
A co například jistá kniha od pana Wirtha?
Katarina
Profil *
Ale no tak, prestante tady posilat Pascal do srotu, kam vubec nepatri. Delam ted na projetu srovnavani vykonu jednotlivych jazyku a muzu vam rict, docela me to prekvapilo - Java je fajn, ale ta saskarna s VM je trochu zbytecna (nevyhoda interpretovanych jazyku jako takovych), to samy C# a .NET. Automaticka sprava pameti je fajn, krasne vam usetri cas, je jednodusi s tim psat, ale GC si bere zbytecne moc prostoru, takovy zbytecne naalokovany pameti, co se mi tu zobrazuje... A o rychlosti ani nemluvim... Java jde totalne ke dnu, C# ji nasleduje. Pro programovani bez nutnosti graf. rozhrani (no - v soucasne dobe zel tak maximalne vypocetni soft) je C/C++ naprosto bez chyby (!ale bacha na prekladac!) a s grafikou jasne vede vami zatracovany Pascal - at uz FreePascal, nebo rovnou Delphi, ktery jsou jeste rychlejsi a velmi pohodlne a prijemne pro vytvareni rozhrani. S Pythonem zel jeste zkusenosti (vysledky) nemam zadne:-(
Toto téma je uzamčeno. Odpověď nelze zaslat.