Diskuze: Jaký jazyk vybrat?
Člen
Zobrazeno 31 zpráv z 31.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Pokud mysíš důvody naučit se něco nového, tak to žádné jiné důvody nemám. Programování mě prostě baví a chci se naučit něco nového. Jen nevím jaký jazyk mám vybrat a doufám, že mi někdo poradí.
Pokud chceš zůstat u webů, tak bych volil nejspíš to ASP.NET. Pathon a Django jsou dneska na trhu práce už docela mrtvé a po Ruby vývojářích moc poptávka není. Pokud by ti nevadilo jít mimo web, tak jednoznačně Java, tam máš nejlepší šanci se v budoucnu uchytit (ikdyž i v ní se občas weby dělají, co sem slyšel, tak ji prý docela často používají banky a podobné instituce). A ikdyž teď na nějakou práci třeba ani nemáš pomyšlení, tak mi věř, že se ti to určitě bude v budoucnu hodit.
Nejspíše javascript, běží jak na serveru tak na clientovy a je o něj zájem
Díky taky o ASP.NET už přemýšlím Pracuji jako PHP programátor a zatím vyhovuje, ale samozřejmě beru i pracovní ohledy. V Javě dělám taky, pro weby to ale nepoužívám.
Díky, na Node.js bych málem zapomněl Pracuješ v něm?
Ale tak občas něco udělám jen tak pro zábavu, nejčastěji ve spojení se socket.io
Neporadil by ještě někdo?
Ahoj, za me jednoznačně javascript. Ve složení MEAN stacku:
M - MongoDB (databáze)
E - ExpressJS (web framework)
A - Angular2 (frontend framework od googlu)
N - NodeJS (server)
je to super výkonný nástroj pro tvorbu webů.
Nevím co myslíš pod "docela dobře umím PHP". Pokud zvládáš OOP, tak bych šel na JavaScript. Zůstaneš u webů a můžeš jej v dnešní době použít prakticky na cokoliv. Pokud OOP ještě úplně nezvládáš, doporučil bych C# nebo Javu. V obou jazycích jdou psát weby, i když až se prokoušeš základy. Navíc (na rozdíl od PHP) jsou to typované jazyky.
Python
http://flask.pocoo.org/
http://www.sqlalchemy.org/
Fsharp
https://suave.io/
http://websharper.com/
https://fable-compiler.github.io/
Popřípadě Ruby (on Rails), Scala, Haskell, Clojure a jejich příslušné webové knihovny. Nebo také C# nebo Javu, pokud máš hbité prsty a rád píšeš.
Pokud se budeš učit programovat na dysfunkčních jazycích jako jsou php nebo javascript, spláčeš nad výdělkem.
ja osobne by som, keď to máš na učenie, zvolil iný jazyk, nie dynamicky typovaný. Ale radšej niečo ako C#, Java trochu ťa to donúti o niečo inak rozmýšľať, lebo prasárny, ktoré sa dali robiť v PHP už zrazu nebudú také jednoduché Aj keď samozrejme vývoj nejakého blogu zmákneš s PHP skôr.
JavaScript je podľa mňa dobré vedieť a je to veľmi užitočný jazyk, ale mne príde hnusný. Mám rád keď má jazyk dobrú (a peknú, nie pomocou hackou) podporu OOP (minimálne takú ako PHP, v Pythone mi už chýbali nejaké veci) ale v JavaScripte sa to akosi nepodarilo.
Nedá mi to, ale musím se zeptat. Co přesně ti v Pythonu chybělo?
privátne veci, rozhrania, abstraktné veci z toho čo ma tak napadá
viem, že pre dosiahnutie privátnej veci sa dá dať dve podtržítka ale je to škaredé a donedávna som dúfal, že už aj prekonané. Potom viem, že obľúbený argument na toto je niečo v zmysle "We're all adults here", ale je fajn môcť dať niečo privátne už len preto aby sa mi to v IDE z vonka nezobrazovalo (hlavne pre metódy)
Rozhrania sa tiež dajú poriešiť nejakou rodičovskou triedou a pri slabo typovaných jazykoch možno trochu strácajú na výhodách, ale keď som mal nejakú logiku, ktorú som chcel rôzne implementovať rôznymi triedami celkom by sa mi hodilo mať to poistené rozhraním
Implementovanie abstraktných metód pomocou vyhadzovania NotImplemented výnimok je tiež len obchádzka, potom viem, že je nejaké abc, ale tiež to nie je až také pekné
Čiže viem, že tie veci idú spraviť, ale v Jave, PHP, C# mi to príde krajšie a jednoduchšie. Na druhú stranu je ale veľa vecí, ktoré sú v Pythone lepšie čitateľné oproti spomenutým jazykom, ale mal som pocit, že sa to netýkalo ničoho spojeného s OOP
Technicky máš úplnou pravdu, pak mne napadlo, že bys mohl myslet tohle.
Trochu mi to připomíná ten starý vtip, že když člověk chce, může psát Javu v libovolném jazyce. To ale ještě neznamená, že by měl
Z dlouhodobého hlediska bych řekl, že je lepší se přizpůsobit Pythonu, a tím nemyslím zrovna OOP část, které je lepší se vyhnout, pokud máš na výběr.
Java a C# tohle neřeší, protože jsou hlavně OOP. Python vychází z
řady jiných základů.
Ostatně, se můžeš podívat na tohle profláklé video:
https://www.youtube.com/watch?…
Dokonce i v nejnovější knize o javascriptu jsem našel větu, že OOP je překonané, a to je kriplscript jazyk, který se čím dál víc snaží předstírat, že je OOP.
Ale to je v zásadě jedno. Javascript a Php jsou špatné, ale používané programovací jazyky. Učit se je ad hoc vytváří špatné návyky a zmatené porozumění základům.
Ostatně tady je seznam jazyků, kterým by se člověk měl při učení
vyhnout:
https://whydoesitsuck.com/…g-languages/
Myslím tam chybí jenom VB.NET
PS: Samozřejmě, že v nich můžeš psát a živit se jimi tak jako tak.
Prosimtě co to tu meleš? Jak špatné jazyky a špatné návyky? Je na
zodpovědnosti programátorů, jak program napíše. To že něco jde, přece
neznamená, že se to má v tomhle případě použít!
Potom navrhovat Scalu, Haskell, Clojure někomu, kdo se učí programovat?
Proboha proč? Jaké bude mít využití? Bude mu to k ničemu a až bude chtít
dělat něco reálného, tak se úplně zbytečně bude prát s OOP.
Příjdeš mi jako takový ten člověk, co "objevil" funkcionální
programování a teď je podle něj funkcionální programování nejlepší.
Funkcionální jazyky tu byly přes OOP a z určitého důvodu se od nich
opustilo. Funkce jsou dobré jen k tomu, k čemu jsou určeny: transformace dat.
Ale ty data musí být v něčem uloženy, což si asi neuvědomuješ.
Potřebuješ (hlavně v podnikové sféře) mít zaručenu jistou složitost
hledání, vkládání atd. Jak to chceš řešit ve funkcionálním jazyce?
No od funkcionálního programování se opustilo vpodstatě jenom proto že mnohonásobná rekurze byla v dřívějších dobách velmi problematická s tak omezenou pamětí s jakou museli pracovat. A nevidím žádný důvod proč se neučit funkcionální jazyk jako první, neexistuje věc která by šla napsat v OOP jazyku a nešla napsat ve funkcionálním. Ve většině případů s hezčím kratším kódem.
Vše napíšeš i na Turingovem stroji, přesto zůstal pouze v teoretickém
poli
Tak co nejde ve funkcionálním jazyce? Co třeba generátor náhodných
čísel? Jak tohle vyřešíš, když funkce musí pro stejné vstupy vracet
stejné výstupy?
EDIT: a pod pojmem "hezčí kratší kód" si nepředstavuji zrovna hromadu
závorek, na které nefunguje ani IntelliSense.
Uznávám že IDE co se týče funkcionálních jazyků mírně zaostávají (zvláště na Windows). A uznávám že to je minimálně z části validní argument, proč s takovým jazykem nezačínat. Ale co se týče první otázky samozřejmě že to lze vyřešit dokonce několika způsoby, ale nejjednodušší je pomocí tzv. monádu, díky tomuto konceptu je možné ve funkcionálním jazyce dělat i věci které do jisté míry používají stavy bez jejich negativních efektů. A pod pojmem hezčí kód mám na mysli kód, který je na první pohled jednoduší na pochopení. Upřímně jediný argument proti učení funkcionálních jazyků začátečníky bych viděl menší materiálová základna pro učení.
Protože je funkce samostatna jednotka a ještě k tomu na prvním místě,
potom ani není prostředek, jak napovídat, a skutečně si v hlavě držet
všechny vestavěné a ještě vlastni funkce není možné.
Co se týče negativních efektů stavů, funkcionální jazyky to řeší
immutable - šíleně to žere výkon. Jinak zrovna co se týče "efektivních"
implementaci immutable, stejně je pod tím nějaký objekt, jem je to v jazyce
skryto.
S tím, že je funkcionalni kód lepší na pochopení nesouhlasím. Upřímně
jsem nedávno začal s Clojurem a pořád jsem ještě nepřišel na to, jak
kód formátovat tak, aby to bylo nějakým způsobem čitelné.
Ja nedoporučuji funkcionální jazyky, protože to člověk nevyužije. Navíc
se potom základy těžko přeučují.
Upřímně nevím jak to řeší Clojure ale já programuji v Haskellu kde mi IDE napovídá funkce. Celkově ti podle mě uniká pointa funkcionálních jazyků, nikdo netvrdí že potom co se přeloží se nepřeloží do imperativního jazyka, ale o to nejde. Hlavním cílem funkcionálního jazyka je co největší možnost abstrakce, snažit se co nejvíc odpoutat od konkrétní implementace jednotlivých funkcí a jejich optimalizace k samotnému stavění programu. Jinak máš určitě pravdu že hlavní je poptávka po OOP jazycích (což se taky pomalu mění) tudíž pokud někomu jde pouze o to si vydělat teď tak je OOP jasná volba. Ale funkcionální programování je stále na vzestupu a začínají si to uvědomovat i hlavní hráči světa IT (Facebook, Microsoft,...), podle mě je funkcionální programování budoucností programování samotného. Ale trochu jsme tím odbočili od tématu samotného hlavním důvodem mé první reakce byla ta poznámka "a z určitého důvodu se od nich opustilo" protože ta je dle mého názoru naprosto zcestná. Pokud chceš dále pokračovat v diskuzi (čemuž sem otevřen) doporučuji založit nové vlákno abychom neplnili toto příspěvky, které odbíhají od tématu.
Nebudu se opakovat. Pokud nevíš, o čem je řeč, doporučuji samostudium. Stačí do strejdy Googlea zadat mírně pejorativní "Why php (javascript) sucks" a najdeš řadu odkazů, a to od profesionálních programátorů. Základ Javascript a Php je slátanina. První vznikl za deset dnů, druhý zase jako soubor skriptů pro domácí stránky.
Opravdu? Hm, vzhledem k tomu, že jsem se nedávno díval na Javascript, rozhodně to je odvážné být v něm za cokoliv zodpovědný. To je prostě minové pole.
A proč někomu navrhovat Php nebo Javascript? Ze sadismu?
- Proboha proč? Jaké bude mít využití? Bude mu to k ničemu a až bude chtít dělat něco reálného, tak se úplně zbytečně bude prát s OOP.
Kdežto PHP implementace ho vytrhne, nebo Javascript, který je prototypový a OOP pracně předstírá? Python, Scala, Fsharp, Ruby mají OOP na slušné úrovni. Uznal bych ti leda Haskell, popřípadě Clojure.
Omyl. FP je prostě všude - a pokud se snažím otvírat oči mladým a nevinným, měli by mi za to jen poděkovat. Hledět v roku 2016 na IT stránky, které propagují OOP a PHP mi přijde neuvěřitelné. Možná by ses měl na chvíli vrhnout na anglický internet, pobrat tam nějaké informace a potom mi, hm, poděkovat?
Bože můj, Microsoft zrušil LINQ? Java 8 je mrtvá? SQL se už nepoužívá? Kdy se to hergot stalo? A PHP nepřidalo zmrvené closures a anonymní funkce?
Není to spíš tak, že ty si neuvědomuješ, že data a funkce můžou zůstat oddělené? Vyhneš se tak řadě problémů a zjednodušíš si život.
Nechápu, v čem je podle tebe problém? V podnikové sféře potřebuješ přesně to, co ti nabízí FP jazyk. Bezpečný, stručný, srozumitelný. Tu pasáž o hledání a vkládání nechápu. Pokud máš tím druhým na mysli tzv. immutability, nuže, můžeš si počíst tady:
http://funkcionalne.cz/…e-struktury/
Soudě podle toho, na co se zatím ptáš, nevím, do jaké míry to pojmeš, ale za pokus nic nedáš.
A když už jsem se tak hezky rozepsal, musím tě ještě pochválit za ten hezký příklad s náhodnými čísly. To jsi mi tedy vyrazil meč z ruky. Musím uznat, že nevím o žádném funkcionálním jazyku, který by to dokázal.
Bohužel pro tebe neznám žádný programovací jazyk, který by to dokázal tak, jak si to zřejmě představuješ.
Najde se někdo, kdo mu vysvětlí jeho omyl? Nebo na to přijde sám? Toť otázka za padesát bodů.
Napovím, proč random funkce vrací pseudonáhodná čísla? Jakpak vznikají? Vynoří se z elektronického nekonečna?
Umím si představit, že by tak mohli fungovat kvantové počítače.
No z tvé reakce usuzuju, že vůbec nemáš představu, o čem tady mluvím. Nevadí, třeba časem. Nicméně jak bylo řešeno, už odbíháme od tématu, takže to uzavírám.
No dobrá, božíčku, tak si tady alespoň nastuduj tu random funkci, ať můžeš v klidu trápit svědomí
A pseudorandom variable is a variable which is created by a deterministic procedure (often a computer program or subroutine) which (generally) takes random bits as input. The pseudorandom string will typically be longer than the original random string, but less random (less entropic, in the information theory sense). This can be useful for randomized algorithms.
Všimni si prosím těch náhodných bitů. To že nevíš, odkud si je ta tvá funkce bere neznamené, že tam nejsou. Už ti to docvaklo?
Vše napíšeš i na Turingovem stroji, přesto zůstal pouze v teoretickém poli
Jelikož má výhody (pro některou teorii), které jaksi běžné programovací jazyky nemají: je jednoduchý. Navíc se nám jej zatím ani nepodařilo vyrobit. Pro některé teoretické oblasti se zase hodí jeho "funkcionální obdoba" – částečně rekurzivní funkce (proti nim je programování na TS podle mě úplná hračka).
Co jsem mohl vidět a posoudit, tak funkcionální jazyky (mám zkušenosti trochu s Haskellem) prostě leží na daleko vyšší úrovni než ty "běžně používané", což má výhodu v tom, že neřešíš implementační detaily. Ztráty výkonu bych se zas tolik nebál, protože existuje spousta oblastí, kde není potřeba. Navíc, v jakém nefunkcionálním jazyku napíšeš quicksort na jeden řádek jen téměř doslovným překladem hlavní myšlenky algoritmu?
Co jsem měl možnost pozorovat spolužáky na MFF, tak někteří (včetně mě) měli s funkcionálem velké problémy; prostě v tom nedokázali elegantně myslet. Ale byly i opačné případy – někdo zase v OOP a podobném moc nevynikal (i samotná syntaxe byla celkem problém), ale pro funkcionál jako by se narodil (ona tam ta sytaxe moc neexistuje).
Byl by to zajímavý experiment, začít se učit jako první nějaký funkcionální jazyk. Rozhodně by to mělo blíže k teorii algoritmů.
Náhodný generátor bych neřešil. I v tom funcionálu prostě musíš nějak umět komunikovat s vnějším světem, který obsahuje i pseudonáhodný generátor.
Ahoj, spousta přátel mě nabádá, že PHP padne a bude třeba hledat efektivitu a funkčnost Prý Mongo.db a node.js... Nevadí mi startovat od základu, rád si připlatím kurzy ale samostudium a praktika, jako tomu bylo u OOP RS a viz. http://martysweb.maweb.eu rad bych podobne prosel i tyto jazyky... Nebo je aktualnejsi? Diky za reakce, vazeni
Zobrazeno 31 zpráv z 31.