Komentarai Prisijungti
Viršuje: Seniausi | Naujausi
kionig 2013-06-13 01:19
Aj, kadangi viena rašymo klaidelė, tai parašysiu čia
? Jeigu tendencija yra, kad tų kalbų skaičius didės, tai bet kas iš to, jei kiekybė!=kokybė.
Giedriax 2013-06-13 01:36
ką belieka programuoti? assemblerį?
Jei visos programos būtų grynai assembleriu parašytos, turbūt atsiliktume nuo dabarties kokius 30-40 metų
Nemanau, kad programavimo kalbų įvairovė yra blogai, ir visiškai nesupratau sulyginimų su žmonių vartojamomis kalbomis, pvz esperanto. Juk iš tikro daug ką lemia programavimo kalbos patrauklumas programuotojams. Iš kitos pusės pažvelgus - programuotojai nori ne vieną ar dvi, o keletą kalbų mokėti
edgarasf123 2013-06-13 08:22
kiekviena programavimo kalba pasizimi savo privalumais ir trukumais. Del to ir yra dauk kalbu.
JavaScript
+ Patogu programuot
+ Saugi(nelabai ka gali padaryt su tavo systema), del to jinai naudojama narsyklese
-/+ Nera isversta i masinini koda, kiti zmones gali vogti tavo koda, bet taipat gali paziuret ar programa nedaro nieko itartino
- Leta
Narsykles naudoja javascript nes ji yra saugi, ir pakankamai greita
Java
+ Patogu programuot
+ Vidutiniskai saugi
-/+ Nera pilnai isversta i masinini koda, kiti zmones gali vogti tavo koda, bet taipat gali paziuret ar programa nedaro nieko itartino. Beto minecraft yra jau decompailintas, bet kodas nera lygiai tas pats, bet pati logika ta pati.
+ Greita, bet letesnis negu C kalbos
Zmones renkasi java nes su ja yra lengviau programuot negu su C kalbomis ir nereik jaudintis del visokiu memory leak ir pns.
C kalbos (C, C#, C++)
+ Sunkiau programuot
- Nera saugi, dauguma virusu su ja rasoma
+/- pilnai isversta i masinini koda, sunkiau suzinot ka programa daro(turi zinot reverse engineering t.y. skaitit pati masinini koda assembly)
+ Labai greita
+/- Turi daugiau pasirinkimu kaip gali apdorot informacija, bet taipat turi uzdet visokias apsaugas kad programa neuzluztu.
Dauguma programu kurejai renkasi C kalbas nes ji yra greita. Pvz zaidimai yra sukurta su ja kad isgaut gera grafika ir nestriginetu.
Del assembler ar FORTRAN nelabai kas su jomis raso iprastas programas nors ir yra greitos, jos labai vargina rasyt koda su jomis ir uztrunka laiko. Jas naudoja tik kokie mokslinikai ant super kompiuteriu, driveriu kurejai(programa kuri padeda komunikuot visokius prietaisus kaip klaviaturos ar usb flash su kompiuteriu) ir pns.
Shinigami 2013-06-13 09:16
Įdomus straipsnis, bet ne su visomis jo idėjomis sutinku.
Dažniausiai (jei tvarkingai rašei kodą) kur gali būti klaida žinai iš klaidos apibūdinimo.
Hmz 2013-06-13 09:24
Parodyk konkrečiau, kuo Java yra saugesnė ir patogesnė darbui už C#.
- 2013-06-13 09:30
edgarasf123 turbūt dar vienas naujas „specialistas“, mokantis viską.
Shinigami 2013-06-13 09:49
Saugumas reiškia ar yra daug kalbos trūkumų kuriais pasinaudojus galima įsilaužti į kompiuterį, o ne kiek virusų yra sukurta pasinaudojant programavimo kalba.
C kalbos šeima skiriasi nuo Java, nes ji pati išvis nesirūpina kompiuterio pažeidžiamūmu. Tuo rūpinasi programuotojas. Nes C šeimos kalbomis parašytos programos nėra skirtos naudoti internetų naršyklėse. Tuo tarpu java yra skirta naudoti naršyklėse, todėl ten būti rūpintis kad bloga programa nepatektu į kompiuterį.
ligonis 2013-06-13 10:59
C# labiau tiktų rašyt prie javos, nes ji su c/c++ turi tik bendrą sintakse, ir ji nėra kompiliuojama tiesiogiai į asemblerį ji kompiliuojama į msil(java i savo bytecoda). o .net frameworkas tą msil kompiliuoja į asm tada kada jo prireikia.
Skeleton 2013-06-13 13:02
Man kaip ir kitiems komentatoriams užkliuvo kai kurie straipsnyje pateikti "faktai":
Gal formaliai ir egzistuoja "tūkstančiai programavimo kalbų", nors net ir dėl to abejočiau, bet jeigu suskaičiuosime populiariausiais programavimo kalbas: C; C++; JAVA; C# (universalios arba bendro naudojimo kalbos); OBJECTIVE-C; PHP; JAVASCRIPT; SQL; PYTHON; PEARL; ADA (specifinio naudojimo kalbos); COBOL; FORTRAN; PASCAL ir jo objektinė versija DELPHI (senienos, bet dar naudojamos). Dar galima pridėti visokias labiau egzotines kalbas tipo LISP ir jo dialektai ir tai gaunasi, kad realiai naudojama ne daugiau kaip 20 kalbų ir jomis 99%+ viso kodo yra parašyta.
Toliau, apie programavimo kalbų panašumą sakyčiau irgi smarkiai persistengta.
Kaip matome daug kalbų yra smarkiai specializuotos, t.y. pritaikytos specifiniam tikslui arba specifinei aplinkai. Pavyzdžiui ADA sukurta specialiai didelio patikimumo ir didelio saugumo sistemoms (karyba, aviacija, kosmosas, medicina), užtai pagal atsiliepimus rašyti kodą su ADA yra visiškas košmaras.
Tačiau ir į universalias pretenduojančios kalbos gali smarkiai skirtis palaikomo programavimo stiliumi ir ideologija: visi žino kaip smarkiai skiriasi procedūrinis ir objektinis programavimas. Tačiau ir objektinis programavimas gali smarkiai skirtis pavyzdžiui OBJECTIVE-C objektinio programavimo modelis paremtas pranešimų perdavimu objektams smarkiai skiriasi nuo C++/JAVA/C# objektinio programavimo per metodus.
Shinigami 2013-06-13 13:26
Delfis taip pat iš technologijų straipsnius kopijuoja
http://mokslas.delfi.lt/technologijos/p ... d=61621913
Programavimo kalbų sąrašas http://en.wikipedia.org/wiki/List_of_pr ... _languages
Dar vienas programavimo kalbų sąrašas pagal kuri yra 2500 kalbų http://people.ku.edu/~nkinners/LangList ... nglist.htm
Programavimo kalbų medis pagal laikotarpius http://www.levenez.com/lang/ įvairiais pdf formatais.
Radau neveikiančia nuoroda į internetini puslapį kuriame turėtu būti virš 8500 programavimo kalbų. HOPL - history of programming languages
Skeleton 2013-06-13 13:56
Bet tas didelis skaičius gaunasi tik įskaitant visus senus ir nesėkmingus projektus, kalbas kurios seniai nebenaudojamos ir kalbas kurios niekada praktiškai nebuvo naudojamos ir dar įskaitant visus vienos kalbos dialektus, standartus kaip atskiras kalbas.
Shinigami 2013-06-13 14:06
Taip, bet straipsnyje ir ne išskyrė kokias programavimo kalbas skaičiuoja. Todėl kiek bus programavimo kalbų priklausys nuo to pagal kokius kriterijus juos skirstysi. Jei imsi visas kalbas kurios yra tarpusavyje nesuderinamos arba smarkiai skiriasi, bei privačias kalbas kurios naudojamos tik kažkokios įmonės kažkokiam projektui, bei skriptynimo kalbas gali šiuo metu ir virš 9000 kalbų suskaičiuoti. Žinoma, pagrindinės naudojamos kalbos yra tik kelios dešimtys, net šimto nesiekia.
saknis 2013-06-13 14:19
Nesutiku kad C nesaugi, virusai naudojasi visu kalbu klaidomis(tu labiau vartotoju neapdairumu), zinoma C gal labiausiai pasizymi bufer owerflow
Seip dekoju redakcijai uz toki idoku straipsni, tik autores vizija su vesti programavima ir Exel formuliu nieko nepakeistu. Man labiau kirba ideja kad kokiu mobiliuju OS ir programeles butu rasomos viena klaba ir kompiluojamos vienu komiliatoriumi.
Per daug sudetingos os per daug protokolu per daug sukurta produku kad galetu viska apimti viena kalba.
Taciau strapsis tikrai idomus
saknis 2013-06-13 14:25
Dabar pasakyk kam nenaudokit Wordpress pasirasykit cms C++, ar Go kalba, tai iskeiktu iki padugniu mentaliteto
Niemand 2013-06-13 15:32
Microsoft, google ar apple?
Aš tai labiau norėčiau taikos visam pasaulyje
saknis 2013-06-13 16:29
apie virusus turejau omeni tai ka pataisei, taciau programu klaidos daznai nuliamemos programvimo klabos specifika
pvz php
fopen($file);
ir fopen($url)
fopen('php://input')
Seip pastabos teisingos.
PHP irgi turi apsauga Suhosin, oij pritrumpino stipriai
littleevilllama 2013-06-14 01:23
Su tom programavimo kalbom...
Nori parašyt ką nors androidui- JAVA... o, tau prireikė kokį nors grafiką toj savo programoj nubraižyt- dėk webview su kokia nors JavaScript graphing biblioteka, o jei dar reikia 3d, tai turėk bėdos su prie javos su C ir tuo klaikiu JNI. O jei dar nori app nuportint į iOS... win mobile/rt... bada... tuoj ubuntu mobile ir dar velniai žino kas ateina.
Sakykit ką norit, bet tiek standartų nėra gerai. Kam jie?
bypasser 2013-06-14 02:12
Matosi, kad raÅ¡ytas straipsnis žmogaus visiÅ¡kai nieko nenusimananÄ
Giedrius- 2013-06-14 12:17
Man šitie straipsniai patinka. History of hi-tech, faktiškai teisingi, sotūs informacijos.
rwc 2013-06-14 14:24
Labai teisingai esmę įvardijo Niemand.
Skirtingos kalbos egzistuoja todėl, kad yra skirtingi poreikiai. Vienos universalios nėra ir negali būti. Geras palyginimas su plaktuku: gali juo įkalti varžtą, bet verčiau pasiimti atsuktuvą. Gali idealizuoti korektišką plaktuko naudojimą ir viską kalti tik vinimis, bet čia pat atsiras gudročius, kuriam tavo idealizmas giliai dzin ir jis susuks varžtais taip, kaip jokiu idealiu vinimi neprikaltum.
Kalbos atsiranda tuomet, kai susiduriame su naujomis problemomis. Java pagal dizainą neturi operatorių perdengimo? Geras sprendimas - tol, kol nereikia sukodinti kompleksinių skaičių aritmetikos. Javascript neturi griežtos tipų deklaracijos? Puikus sprendimas, kol nereikia validuoti duomenų.
Va, prieš kelias savaites mane užkniso Javascripte "function( function( function(...){...}()...}()...};". Ką padariau? Susikodinau savo kompiliatorių. Galite prie kalbų skaičiaus pridėti kaip minimum vienetą.
Išskirti vien tik kalbų bei dialektų proliferaciją - kiek primityvoka. O kaip: bibliotekų, variklių, terpių gausybė? Tą patį algoritmą vienaip (tegu tai tebus kad ir pažodinis vertimas) rašysi naršyklei, kitaip - duomenų bazei, trečiaip - USB kontroleriui, plius dar "meta terpės" kaip Excelis, WebGL, programuojami skaičiuotuvai.
Kitoje temoje ėdamės dėl SQL variklių - irgi tipiškas pavyzdys. MyISAM gerai tinka paprastiems saitukams, forumams, e-parduotuvėms, kurių duomenų modelis susideda iš trijų lentukių ir yra tiek paprastas, kad gali visą laikyti makaulėje. InnoDB tinka didesnėms, bet jis lėtesnis ir turi savo apribojimų. Man nepatinka nė vienas, nes ką besugalvočiau, vis atsimušu į vienokį ar kitokį apribojimą, kurį išspręsti man paprasčiau paimant kitą DBMS nei ieškant apėjimų. Ta pati kalba, tas pats duomenų modelis, ta pati architektūra - bet negali paimti ir pakeisti variklio nedarydamas kompromisų su produkto kokybe. Atrodo niuansas: InnoDB teisingai nedaro Analyze Table - o kas, jei mano projekte būtent šitas dalykas kritinis?
Excelis <2003 neteisingai skaičiuoja savaitės dienas. Rezultatas: ta pati formulė naujame Excelyje duos skirtingus rezultatus priklausomai nuo nustatymų - turime du skirtingos semantikos dialektus!
Unixuose failai skiriami "/", Windowsuose - "\". Abu sprendimai gerai motyvuoti. Bet va, reikia sukodinti naršyklę, ir čia kitaip neišsisuksi, nei sukodindamas du skirtingus dialektus (vieną - failų sistemos adresams, kitą - tinklui).
Ar gali būti viena universali kalba? NE! Kad ir failų adresai: kokią sintaksę bepaimsi, ji apibrėžia : toks adresas legalus Unix serveryje, bet nelegalus Windows). Nebent tau dzin vartotojų saugumas, ir esi įsitikinęs, kad jokia naršyklė nebandys kešuoti ar pan. failo vardu "con".
Toliau - kokia turėtų būti toji universali kalba? Iš straipsnio panašu, kad čia kažkas tokio kaip Komenskio Logo. Sorry, manęs su basliu nepriversi tokia kalba kodinti interneto puslapių, GIS algoritmų ar DB užklausų. Asembleris, C? Duokit 10 pameistrių, kurie sutikrins kiekvieną simbolį - tada prašau. Nepatinka privalomi skliaustai aplink funkcijų argumentus? Parodykit interpretatorių, kuris be išimčių ir išlygų suinterpretuotų išraišką "∫sin x cos²xdx".
Galų gale, šitie teoretikai pamiršta Gödelio nepilnumo teoremą. Jokia kalba, kuria galima užrašyti jos pačios taisykles (t.y., bet kokia Turingo mašinos programavimo kalba - paprastai tariant, turinti ciklus ir/arba rekursiją), negali įrodyti savo pačios pilnumo. Visuomet bus kaip minimum viena "iš lempos" nukabinta taisyklė, kurią tam tikrais atvejais bus prasminga apeiti.
Kodėl nesugalvojus dviejų kalbų A ir B, kurios pilnai apibrėžtų viena kitą, bet ne pačios save? Betgi tai neįmanoma - tektų sugalvoti meta-kalbą C, kurią apibrėžtų meta-meta-kalba D, kurią...
Tad straipsnis aktualus iš technologijų istorijos, mokslo filosofijos, techninės etimologijos pusės. Siūlomas sprendimas... sorry, jo čia galėjo ir nebūti. Visuomet egzistuos daugybė viena kitą papildančių ir nesuderinamų programavimo kalbų, ir nė viena iš jų nebus universali, gebanti nedviprasmiškai "užrašyti viską".
Komentuoti gali tik registruoti lankytojai.
Neregistruotiems lankytojams komentavimas uždraustas siekiant sumažinti
paviršutiniškų, beverčių ir įžeidinėjančių žinučių kiekį.
Dvejetainis Babilonas (papildyta)