Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: blizz 29. 06. 2011, 16:57:49

Název: Programovanie budúcnosti
Přispěvatel: blizz 29. 06. 2011, 16:57:49
Čo myslíte ako bude vyzerať programovanie budúcnosti? Aké jazyky, technológie a paradigmy sa dostanú do popredia.

Koncom 90tych rokov vývojári prorokovali že klasické písanie kódu má nahradiť vizuálne programovanie, že programátor už nebude písať kód ale si aplikáciu nakreslí a nakliká. To sa do veľkej miery splnilo ale kód zatiaľ píšeme stále.

Jednoznačným trendom do budúcnosti, v súvislosti s vývojom hardware je paralerizácia: máme tu viacjadrové procesory, okrem toho sa zátaž čoraz viac presúva z CPU na GPU (ktoré obsahujú tisícky malých jadier). Z toho vyplýva že hlavnou paradigmou sa stane funkcionálna (možno aj logická). Alebo kombinácia imperatívnej a funkcionálnej.

IMHO jazykmi budúcnosti budú: Scala, F#, Axum, Clojure možno aj Haskell. Na webe bude dominovať Ruby a JS. Java a C# tu ešte pár rokov ostanú, ale postupne upadnú do zabudnutia.
Název: Re: Programovanie budúcnosti
Přispěvatel: sparrow 29. 06. 2011, 17:52:32
To je rozhodně velmi zajímavá otázka, i když si myslím, že dnešním odpovědím se budeme za pět let smát.

Dovolím si tvrdit, že silné platformy Java a .Net s námi ještě pár let zůstanou, nicméně .Netu může M$ kdykoliv zatnout tipec. Pochybuju že by zmizelo C/C++, protože třeba pro hry nic lepšího není a to nejsou jediné aplikace vyžadující maximální výkon. Haskell se sice stále vyvíjí, ale také se rychle za zapracovávají prvky funkcionálního programování do dalších jazyků, takže si nemyslím, že by se někdy vymanil z akademického prostředí. Novináři tvrdí, že jazyky budoucnosti jsou HTML5 a javascript. Já nemám důvod jim nevěřit, i spousta dnešních funkčních aplikací funguje v prostředí webového prohlížeče.

Já jsem zvědavý hlavně na kvantové počítače. Může to znít jako scifi, ale už byl prodán první kvantový počítač. Je už načase se začít učit kvantové počítání?  ;)
Název: Re: Programovanie budúcnosti
Přispěvatel: Blaazen 29. 06. 2011, 18:03:45
Protože je lidská hloupost nekonečná a vývoj probíhá ve spirále tak žádné velké změny nečekám. Když se podaří výrobcům hardware vytvořit 100x rychlejší počítač, tak ho hned výrobci OS zaplácnou 100x náročnějšímí eye-candy omalovánkami. A s programováním to nebude jinak. Už dnes se Python používá k lepení C / C++ knihoven a i za deset dvacet bude třeba nějakých pořádných programátorů, kteří budou muset nějaké pořádné knihovny napsat, aby ti uživatelé toho budoucího bastlu měli co lepit. Pokud ale bude budoucí hardware dostatečně výkonný, tak možná už i ty samotné knihovny budou (nedejbože!) vytvořené v tom bastlu.
Takže výsledný pocit bude stejný a problémy taky. Nebude nikdy dost paměti, žádný disk nebude dost velký atd.
Kód se bude psát vždycky, že S=pi*r*r - to prostě nenakreslíš. A to, co se bude používat bude jako obvykle záležet spíš na marketingové masáži než na zdravém rozumu. A na konec něco pozitivního: vždycky tu budou komunity, které budou vyvíjet a udržovat pořádné kompilátory.
Název: Re: Programovanie budúcnosti
Přispěvatel: Michal Štrba 29. 06. 2011, 18:31:08
V podstate suhlasim s Blaaznom. Az sa cudujem ako funkcny program vedeli kedysi do tej na dnesnu dobu extra malej ramky nacpat. Dnes mame rovnako funkcny program ale naroky su omnoho vacsie.
A kod nikdy nezmizne pretoze ak by sa aj programovalo vo vizualnych nastrojoch tak aj tie vizualne nastroje treba nejako urobit a tie neurobime vo vizualnych nastrojoch, to by bola nekonecna rekurzia.
Název: Re: Programovanie budúcnosti
Přispěvatel: mc 29. 06. 2011, 19:03:13
Já si myslím, že jakmile pokročí techniky nyní intenzivně zkoumané v computer science, jako jsou statická analýza kódu a formální verifikace, začnou se více prosazovat programovací jazyky s většími možnostmi automatické analýzy/generování kódu.
Například spousta nově vzniklých toolů na statickou/dynamickou analýzu kódu je postavených nad Javou, protože má (na rozdíl od C/C++) "lépe uchopitelnou" sémantiku programů (a přesto je dost používaná).
Třeba se dočkáme vyšší obliby funkcionálních (nebo alespoň nějakých skoro-funkcionálních) jazyků, které pravděpodobně budou k takovým automatizovaným programovacím prostředkům více vstřícné.
V této oblasti opravdu je ještě co vylepšovat, není ti žádné sci-fi (statická analýza už se docela rozšiřuje, formální verifikace je spíš okrajová záležitost), akademická sféra se tímto dost zabývá a myslím že to má velký potenciál.

Pak je myslím nevyhnutelná větší orientace na paralelní programování/paradigma (s ohledem na vývoj HW). Nevím jestli se kvůli tomu výrazně změní paradigma běžných programovacích jazyků, protože dosud to vypadá, že nějaká automatická tvorba paralelního software z napsaného sekvenčního kódu nemá moc velký úspěch, většina paralelních software je stejně psána v klasickém C/C++ (ačkoli to je asi ovlivněno oblastmi, ve kterých se v dnešní době nasazuje paralelní software - výkonově kritické simulace apod.)

Ale kdo ví, že? :-)
Název: Re: Programovanie budúcnosti
Přispěvatel: Murdej Ukrutný 29. 06. 2011, 19:24:13
Kód se bude psát vždycky, že S=pi*r*r - to prostě nenakreslíš.

No viděl jsem prostředí kde se to dalo naklikat ale zabralo to naklikani asi 15 minut, navíc hledání chyby v takto naklikaném kódu bylo věštění z křišťálové koule.

Když je v názvu vývojového prostředí Enterprise, Bussiness, ... je to barevné, na obrázcích vysmátí pitomečci v oblecích a ukáže se managorovi že i on si nakliká helloworld tak to managor prostě koupí. A dělat v něčem takovém je za trest.

PS: Proc ku*rva je muj nick Murdej rezervované slovo?
Název: Re: Programovanie budúcnosti
Přispěvatel: Juro 29. 06. 2011, 21:00:40
Programovanie buducnosti?

200 spickovych ludi programuje a dozera na nich team rovnako vynikajucich manazerov, ktori mi obcas poslu na Havaj report ako im to ide.
Název: Re: Programovanie budúcnosti
Přispěvatel: Mordae 29. 06. 2011, 21:55:18
IMHO se bude pokracovat dale smerem JITovanych dynamickych jazyku. A i nadale se budeme dal priblizovat LISPu. Bude vevodit python v podani PyPy, Javascript, jazyky nad JVM a .NETem a pravdepodobne se budeme posouvat ke stale vyssi immutabilite dat a funkcionalnimu programovani.
Název: Re: Programovanie budúcnosti
Přispěvatel: Radovan 29. 06. 2011, 21:55:51
Byl jednou jeden chlápek, zdatný to programátor v COBOLu. Devadesátá léta se přehoupla do své druhé poloviny a Jack si konečně začal získávat respekt a úctu, když se stal soukromým konzultantem specializovaným na konverze na rok 2000. Cestoval po celém světě a dělal pro prestižní firmy, trávil prací i 90 hodin týdně, ale stálo to za to. Ale několik let této monotónní práce se nakonec na Jackovi podepsalo a problémy se spánkem a noční můry o roce 2000 překročily únosné meze. Dohnaly Jacka k tomu, že začal přemýšlet, jak se roku 2000 vyhnout. Nakonec podepsal smlouvu s kryogenickou firmou a nechal se zmrazit do roku 2001. Chtěl být probuzen, až budou všechny oslavy i počítačové krachy dávno minulostí, jen aby mohl v klidu dožít. Tak ho šoupli do takové té skleněné ledničky, dali mu injekce na zpomalení tepu, nastavili datum probuzení a bylo.

Další věc, kterou Jack uviděl, byla velmi nezvykle zařízená místnost, naplněná velmi vzrušenými lidmi, kteří říkali věci jako ‚Je to zázrak!‘, ‚On žije!‘ a podobné. Byly tam kamery, jaké v životě neviděl, a vůbec spousta zařízení, které vypadalo jako ze sci-fi filmů.

Kdosi z těch lidí k němu přistoupil. Jack nedokázal zakrýt vzrušení:

„Už je po tom? Už je rok 2001? Je po všech těch oslavách a problémech?“

Ten chlápek mu začal vysvětlovat:

„Víte, není to úplně tak, jak myslíte. Víte, počítačový systém té kryogenické firmy nebyl kompatibilní s přechodem na rok 2000. Ve skutečnosti je teď o osm tisíc let později. Ale vůbec se tím netrapte. Někdo důležitý s vámi chce mluvit.“

Na to se na jedné zdi, která byla ve skutečnosti obří obrazovkou, objevila tvář muže, velmi připomínajícího Billa Gatese, patřící ve skutečnosti Presidentovi Země, a začala hovořit o tom, jak vypadá dnešní svět, aby se Jack nebál, že na celém světě vládne mír, nikde lidé netrpí hlady, vesmírný program byl přepracován a teď jsou na Měsíci a Marsu lidmi obývané kolonie. Technologie postoupila natolik, že každý má doma interface virtuální reality a může kdykoliv kontaktovat kohokoliv na celé planetě, sledovat jakoukoliv zábavu či muziku, zkrátka cokoliv.

„To zní báječně,“ povídá Jack, „ale zajímala by mě jedna věc. Proč se o mne všichni tolik zajímají?“

„Víte,“ povídá prezident, „rok 10000 je skoro za dveřmi. No, a ve vašich záznamech se píše, že umíte COBOL.“
Název: Re: Programovanie budúcnosti
Přispěvatel: JardaP . 29. 06. 2011, 22:18:53
Tedy, jak tak sleduji milove kroky nasi civilizace, tak bych rekl, ze to bude vypadat nejak takto: http://upload.wikimedia.org/wikipedia/commons/e/ea/Boulier1.JPG
Název: Re: Programovanie budúcnosti
Přispěvatel: Ondřej Novák 29. 06. 2011, 23:52:02
Na internetové scéne budou dominovat zejména skripty.

Na nízké programovací úrovni se půjde dál do větší abstrakce. blíže ke generátorům kódu, zkrze šablony a makra, kdy programovat budou počítače. Začne být zajímavá i optimalizace, překlady JS do nativního kódu, větší duraz na JIT a podobně.

Nízkoúrovňové programování se přesune do přenosných zařízení a do počítačů pohánějící chytré domácnosti.

Ony počítače jak je známe dnes zaniknou úplně, bude existovat chytrá domácnost, televize online, tablety, čtečky, multimediální centra. BFUčka nebudou mít potřebu si pořizovat PC.
Název: Re: Programovanie budúcnosti
Přispěvatel: planetarni IT expert 30. 06. 2011, 00:13:45
IMHO zacne prevazovat hlavne assembler. Lide si vice a vice pamatuji jednotlive opkody instrukci, nebude treba vyssich jazyku. Po roce 2030 imho se jiz bude psat rovnou v opkodech, v roce 2050 se stanou opkody urednim jazykem na cele planete. Java a C# jsou prilis tupoidni jazyky, takze to se zvrtne do bodu nula a tak spise do budoucna prorazi Pascal ci Karel pro ty, kteri budou analfabeti (tj. ti, kteri nebudou znat opkody).

Jinak teda ale fakt nechapu, jak se na tak jasnou otazku muzes pat..
Název: Re: Programovanie budúcnosti
Přispěvatel: salam 30. 06. 2011, 00:31:07
Neznáme číslo řádku, ani kód chyby, ale je jisté, že C++ bude živé až do Armageddonu.
Název: Re: Programovanie budúcnosti
Přispěvatel: Ivan Nový 30. 06. 2011, 05:27:54
Scala, F#, Axum, Clojure, Haskel se nikdy programovacími jazyky budoucnosti nestanou. Ještě nikdy se nestalo, že by nějaký existující jazyk získal popularitu po 10 letech od jeho vzniku. Jazyky se narodí a stanou se populárními. Tak se to děje. Nový jazyk se buď stane hned populární a nebo skončí v akademickém prostředí.
Název: Re: Programovanie budúcnosti
Přispěvatel: Mordae 30. 06. 2011, 07:19:51
Nový jazyk se buď stane hned populární a nebo skončí v akademickém prostředí.

Treba Ruby, co? :-D
Název: Re: Programovanie budúcnosti
Přispěvatel: František B. 30. 06. 2011, 07:54:23
Pod mě trh dospěje do stavu, kdy drtivou většinu všech potřeb již někdo vyřešil. Takže většina zakázek bude spočívat v customizaci a nasazení již existujících řešení. Co z toho vyplývá?

Název: Re: Programovanie budúcnosti
Přispěvatel: Ivan Nový 30. 06. 2011, 08:05:05
Nový jazyk se buď stane hned populární a nebo skončí v akademickém prostředí.

Treba Ruby, co? :-D

Ruby není populární, populární je Ruby on Rails. A celkem rychle po dokončení. Takže platí to co jsem napsal.
Název: Re: Programovanie budúcnosti
Přispěvatel: Batrachus 30. 06. 2011, 10:32:42
Já se děsím toho, co bude v budoucnosti...
Název: Re: Programovanie budúcnosti
Přispěvatel: blizz 30. 06. 2011, 12:47:49
Nový jazyk se buď stane hned populární a nebo skončí v akademickém prostředí.

Treba Ruby, co? :-D

Ruby není populární, populární je Ruby on Rails. A celkem rychle po dokončení. Takže platí to co jsem napsal.

A nie len Ruby ale aj Python, C, alebo JS sú to jazyky ktorým trvalo približne 10 rokov kým sa stali populárne. A naopak kedysi veľmi populárne jazyky ako Fortran a Cobol sa dnes už používajú len okrajovo.
Název: Re: Programovanie budúcnosti
Přispěvatel: iwtu 01. 07. 2011, 00:30:42
„To zní báječně,“ povídá Jack, „ale zajímala by mě jedna věc. Proč se o mne všichni tolik zajímají?“

„Víte,“ povídá prezident, „rok 10000 je skoro za dveřmi. No, a ve vašich záznamech se píše, že umíte COBOL.“

To je krasne!

Dakujem (:
Název: Re: Programovanie budúcnosti
Přispěvatel: iwtu 01. 07. 2011, 00:32:45
Scala, F#, Axum, Clojure, Haskel se nikdy programovacími jazyky budoucnosti nestanou. Ještě nikdy se nestalo, že by nějaký existující jazyk získal popularitu po 10 letech od jeho vzniku. Jazyky se narodí a stanou se populárními. Tak se to děje. Nový jazyk se buď stane hned populární a nebo skončí v akademickém prostředí.

Python?
Název: Re: Programovanie budúcnosti
Přispěvatel: 0101010 01. 07. 2011, 02:46:24
No zrovna ruby mi dvakrát populární nepřijde a ta odporná kočkopsí syntaxe mě docela odrazuje.
Název: Re: Programovanie budúcnosti
Přispěvatel: blizz 01. 07. 2011, 13:13:08
No zrovna ruby mi dvakrát populární nepřijde a ta odporná kočkopsí syntaxe mě docela odrazuje.

na webe populárne rozhodne je, na iné typy aplikácií sa nehodí.
Název: Re: Programovanie budúcnosti
Přispěvatel: Inkvizitor 01. 07. 2011, 22:27:51
Vizuální programování coby obecný přístup je nesmysl, samozřejmě. Očekávám postupný odklon od OOP a imperativního programování směrem k deklarativním paradigmatům, hlavně FP, což se už dávno děje (vývoj C#, ale i Javy a C++ a nástup hybridních jazyků typu Scala). Určitě se dočkáme inteligentnějších a lépe optimalizujících kompilátorů (včetně JIT), což příklon k deklarativnímu přístupu usnadní.

Z těch nabízených alternativ si určitě kus ukousne Scala, ale otázka je, zda se skutečně prosadí do mainstreamu nebo se podobným směrem vydají populárnější jazyky - IMO jí chybí podpora nějaké silné firmy a z technického hlediska rychlejší kompilátor a hlavně vyzrálá podpora v IDE. F# je na tom z tohoto hlediska líp, ale je uzamčený na .NETu, což považuju za velký handicap.

Axum mi přijde zatím jako další hračka Microsoftu, projekt mi moc živý nepřijde - na blog autorů jazyka byl poslední (ne moc optimistický) příspěvek přidán před 4 měsíci. Mám z toho dojem nechtěného dítěte.

Haskell je moc fajn jazyk, ale zatím se mu nepovedlo oslovit smysluplně oslovit "masy" (ani Learn You a Haskell... ani Real World Haskell IMO nemíří tímto směrem) a vypadá to, že se k tomu ani neschyluje. Problém Haskellu je mimo jiné v tom, že se v něm nepohodlně vyjadřuje časová posloupnost (imperativní jazyky ji naopak strkají i tam, kde je zbytečná). Budoucnost vidím spíš v OOP/FP hybridech, ono to OOP má něco do sebe...

Clojure je další pokus prosadit Lisp do mainstreamu. Obsahuje spoustu zajímavých konceptů, ale ta syntaxe mu podle mě spolehlivě podrazí nohy a neprosadí se víc, než třeba Erlang.

Ruby na webu nedominuje a IMO nikdy nebude, s nástupem ostré verze Djanga (které má samo o sobě přibližně tolik uživatelů jako RoR), Google AppEngine, Grails a dalších technologií ztratilo podle mě konkurenční výhodu a RoR je jenom jeden framework mezi mnoha jinými. Pro většinu programátorů Ruby = RoR, tak to prostě je. O budoucnosti JS na serveru spekulovat nechci.

Jisté je, jak už bylo v diskusi poznamenáno, že všechny významnější jazyky minulosti v nějaké podobě žijí dál a dá se IMO očekávat další fragmentace, žádný Svatý grál mezi proramovacími jazyky nevidím. Důležité je umět vidět "za jazyk" a ovládnout danou doménu z hlediska teorie a zkušeností. Jazyk se dá vyměnit relativně snadno, co se nových projektů týče.
Název: Re: Programovanie budúcnosti
Přispěvatel: Jakub Váňa 02. 07. 2011, 12:28:15
Ano, ano, ano - píše to tu v podstatě spousta lidí - nevíme, co bude nahoře, jaký, javy, tečka nety, nebo grafický udělátka se objevěj. Ale dole - programátor v assembleru, C, C++ a dovolim si říst, že i v shellu se do konce éry počítačů o dobře placenou práci bát nebude muset :D
Název: Re: Programovanie budúcnosti
Přispěvatel: Jozko 02. 07. 2011, 14:31:08
S nastupom kvantovych pocitacov tipujem ze vzniku nove programovacie paradigmata a techniky. V tomto ja vidim buducnost. Avsak vacsina matematickych operaci vzdy zapises tak isto :). Vzdy bude existovat nieco ako asm, c, c++, java, ...
Název: Re: Programovanie budúcnosti
Přispěvatel: JS 02. 07. 2011, 18:12:22
Nejdriv citat: "In 30 years Lisp will likely be ahead of C++/Java (but behind something else)."

Nejvic se asi priklanim k Inkvizitorovi. Myslim, ze svet se bude ubirat cestou dalsich abstrakci a vice deklarativnich zapisu, a ze dojde k synteze dynamickeho a statickeho pristupu k typum a programovani vubec (stejne tak se ztrati dichotomie JIT vs normalni kompilace).

Ocekavam v tomto smeru take jisty odklon od OOP. Napriklad si myslim, ze dotazovaci jazyk bude bezne primo soucasti jazyka, a kompilator bude automaticky volit pouzite datove struktury a dalsi parametry na zaklade statisticke analyzy pri behu programu.
Název: Re: Programovanie budúcnosti
Přispěvatel: D.A. Tiger 04. 07. 2011, 23:26:47
Taky si vzpomínám na jeden citát. Nevím sice kdo jej pronesl, ale něco mě na něm už tehdy hodně zaujalo. K tomuto tématu se podle mě velice hodí:

"Nevím v čem se bude programovat za dvacet let, ale určitě se to bude jmenovat FORTRAN..."
Název: Re: Programovanie budúcnosti
Přispěvatel: brtna 11. 07. 2011, 10:35:08
Co třeba DSL (domain specific languages) a generování kódu z nich? Zatím používáné spíše v akademické sféře, případně dílčí reálné úkoly (návrh a generování tříd, DB schémat) ale budoucnost to nejspíš taky má (Microsoft celkem tlačí ve VS2010). Umím si představit dotažené DSL jazyky zaměřené na návrh a generování aplikací používaných v průmyslu, obchodu, pojišťovnictví atd. Ostatně v telekomunikacích a bankovnictví se už nástroje používající stejné principy prosazují (TIBCO integrace, různá BI řešení..). Osobně ale dávám přednost C++, Java, C#, které snad budou potřeba pořád :)