Programovanie budúcnosti

blizz

Programovanie budúcnosti
« kdy: 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.


sparrow

Re: Programovanie budúcnosti
« Odpověď #1 kdy: 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í?  ;)

Re: Programovanie budúcnosti
« Odpověď #2 kdy: 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.

Re: Programovanie budúcnosti
« Odpověď #3 kdy: 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.

mc

Re: Programovanie budúcnosti
« Odpověď #4 kdy: 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? :-)


Murdej Ukrutný

Re: Programovanie budúcnosti
« Odpověď #5 kdy: 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?

Juro

Re: Programovanie budúcnosti
« Odpověď #6 kdy: 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.

Mordae

Re: Programovanie budúcnosti
« Odpověď #7 kdy: 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.

Radovan

Re: Programovanie budúcnosti
« Odpověď #8 kdy: 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.“

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re: Programovanie budúcnosti
« Odpověď #9 kdy: 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

Re: Programovanie budúcnosti
« Odpověď #10 kdy: 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.

planetarni IT expert

Re: Programovanie budúcnosti
« Odpověď #11 kdy: 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..

salam

Re: Programovanie budúcnosti
« Odpověď #12 kdy: 30. 06. 2011, 00:31:07 »
Neznáme číslo řádku, ani kód chyby, ale je jisté, že C++ bude živé až do Armageddonu.

Ivan Nový

Re: Programovanie budúcnosti
« Odpověď #13 kdy: 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í.

Mordae

Re: Programovanie budúcnosti
« Odpověď #14 kdy: 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