Orignał w języku Esperanto | Maszynowe tłumaczenie na język polski |
---|---|
La nombro de programaj lingvoj estas tre granda (pli ol 1000), kaj ĉiun jaron novaj programaj lingvoj ekestas. Oni povas diri pri evoluo de programaj lingvoj, ĉar la ideoj kaj konceptoj de programado estas heredigitaj de unu lingvo al alia. La evoluo ofte progresas en multajn diferencajn direktojn, sed kelkaj lingvoj denove unuigas konceptojn de aliaj maljunaj lingvoj. Do ankaŭ en la kampo de programaj lingvoj ni havas la babilan turon. (Wikipedia: history of programming languages) La unuopaj programaj lingvoj mem evoluas kaj estas ofte plivastigataj kaj influataj de evoluo de aliaj lingvoj. Programistoj tre vigle kaj volonte diskutas pri la perfekta kaj la plej utila programa lingvo. La kaŭzoj por diferenceco de programaj lingvoj estas diferencaj ol tiuj de naturaj lingvoj. La novaj programaj lingvoj ekestas pro teknika aŭ scienca evoluo aŭ komercaj interesoj de firmaoj. Ĉiu nova programlingvo promesas pli bonan uzadon de tekniko, pli grandan efikecon, pli grandan uzeblecon aŭ taŭgecon por iu tasko, kaj pli vastan subtenon de diferencaj komputilaj sistemoj. Multaj malgrandaj sciencaj programlingvoj ekestas kiel eksperimento aŭ nur pro kreemo de sciencistoj. Mi mem lernis ĝis nun pli ol 20 programajn lingvojn kaj uzis pli longan tempon ĉirkaŭ 12 lingvojn. Miaj plej gravaj programaj lingvoj ordigitaj laŭ tempo de lerno estis:
Mi pristudis ankaŭ: Ruby, PHP, Python, Haskell, Lisp, Polog, Oz (verŝajne ankaŭ kelkaj aliaj). Aktuale mi programas plej intense en lingvoj: Java, XOTcl, C#. La plej popularaj programaj lingvoj estas lingvoj kun plej multnombra programaro kaj plej granda nombro de programistoj. Aktuale tiuj lingvoj estas: C, Java, C#, Perl, Python, Visual Basic, PHP, JavaScript, Ruby kaj maljuna Cobol. Vidu ankaŭ Statistiko pri populareco de programlingvoj Tiuj indeksoj kutime pritraktas kelkajn indicojn por komputi la popularecon. Lingvo, kiu iĝis plej rapide populara, estis en la jaro 2006 la lingvo Ruby. Programistoj do lernas tiujn lingvojn por pli facile trovi la laboron. Oni povas trovi pli da informoj pri tiu lingvo. Oni povas diferenci kelkajn kategoriojn kaj trajtojn de programaj lingvoj.
Programistoj scias, ke principe per ĉiu lingvo kun potenco de Turing-maŝino estas eble programi ĉiujn algoritmojn. Mia sperto estas, ke oni uzu por ĉiu takso la plej avantaĝan lingvon. Estas bone koni kelkajn programajn lingvojn kaj ne preferi ĝenerale unu ceteran lingvon. Ofte oni povas reuzi spertojn de programistoj en unu lingvo por programi sistemon en la alia lingvo. Oni devas pripensi ne nur la nunan situacion, sed ankaŭ aliaj ĉirkunstancojn.
En profesia laboro la elekto de programa lingvo ne estas tasko de programisto kaj ofte tio estas historia elekto. Elekto de programlingvoMi pensas, ke plej ofte tiu elekto estas tute hazarda kaj dependas de lernejo kaj laborejo de programisto. Se oni havas la ŝancon mem elekti la lingvon oni pritaksu:
Programa Lingvo por Komputila LingvistikaLingvistika programado estas tre vasta kampo, kaj ne estas facile diri, kiu programa lingvo estas la plej avantaĝa por tio. Oni devas diferenci inter sciencaj esploraj programoj aŭ sistemoj programitaj por averaĝa uzanto. Ofte lingvistika programaro estas parto de aliaj grandaj sistemoj (ekzemple: tekstaj redaktiloj) kaj devas subordigi sin al ruloj de gasta sistemo. Por lingvistika programaro grava estas facila reuzado. Tial multaj lingvistikaj sistemoj estas programitaj en Javo, kiu nuntempe havas grandan rolon en komerca programado. La ĉefa avantaĝo de tiu programlingvo estas granda populareco en pluraj kampoj. Sed ankaŭ ekzistas grandaj lingvistikaj programoj programitaj per skriptaj lingvoj kiel: Python (NLTK), Perl kaj Tcl (Ellogon). Mi spertis, ke sekvaj trajtoj estas gravaj por komputila lingvistika:
Kelkajn lingvistikaj sistemoj, kiuj bazas sur limiglogika programado aŭ predikatkalkulo, uzas specialajn programlingvojn kiel Prolog aŭ Oz. Tiuj sistemoj estis plejofte kreitaj en universitataj medioj.Mi mem spertis, ke la plej avantaĝaj estas dinamikaj skriptlingvoj, kiuj estas ankaŭ nuntempe taŭgaj por grandaj sistemoj. Nun la plej popularaj kaj rekomendindaj estas lingvoj: Python kaj Ruby. Frue la programistoj ofte diskutis pri esprimpovo de lingvo aŭ sintakso. Mi ŝatas lingvoj, en kiuj oni povas per mallongaj esperimoj programi potencajn reuzeblajn strukturojn. Tiuj lingvoj estas: Smalltalk, Ruby, Python aŭ XOTcl. Jen ekzempla kodo, kiu donas la lastaj 2 literon de vorto por diferencaj programaj lingvoj.
Por C kaj C++ tiu takso estas eĉ pli komplika, ĉar oni devas ankaŭ pripensi la uzadon de memoro. Oni bone vidas, ke tiu simpla tasko estas en Smalltalk kaj en skriptaj lingvo la plej klara kaj mallonga.Lingvoj kiel C++, Java aŭ C#, kiuj havas ridigan statikan tipan sistemon havas tre grandan rolon en komerco kaj estas uzataj por tre grandaj komercaj projektoj. Sed por komputila lingvistiko, kie la algoritmoj povas esti tre komplika, tiu ridiga tipa sistemo povas tre ĝeni kaj malutili. Tiuj lingvoj ne oferas potencajn abstraktaĵojn por mallongigi la programan kodon. Do la programado per tiuj lingvoj estas malpli efika kaj la rezulta kodo pli longa. Tio estas ankaŭ maloportuna por posta flego de sistemo. La konata strategio estas ankaŭ programi unue la prototipon en skripta lingvo kaj poste, kiam oni estas certa pri la funkciado, reprogrami tiun modulon en lingvo kiel C,C++, Java aŭ C#. Tion oni faras plej ofte por rapidigi aŭ malpligrandigi tiun modulon. Lingvo Tcl estas ankaŭ nomata kiel glutea lingvo. Tiu lingvo estas do uzata kiel gluteo de moduloj programitaj en lingvo C aŭ C++. Ankaŭ aliaj skriptaj lingvoj povas esti uzataj kiel gluteo. Mia sperto estas, ke ankaŭ grava estas stabila programa medio, populareco kaj aldonaj moduloj. Ĉiam estas pli oportune reuzi fremdan modulon ol programi ilin de komenco. Oni atentu ankaŭ, ke aliaj programistoj volas ankaŭ tralegi kaj reuzi la programpecojn. En profesiaj sistemoj ĉiu linio de kodo estas nur unufoje skribita sed averaĝe 10-foje tralegita. Fine al neniu malutilas lerni multajn programajn lingvojn. Programa lingvo de “Esperantilo”Esperantilo estas programita en Tcl (Wikipedia) kun aldona objektema modulo XOTcl. La lingvo apartenas al tiel nomataj skriptaj kaj interpretaj lingvoj. Tiu lingvo estas ofte uzata de ne informatikistoj, ĉar ĝi estas facile lernebla. Lingvo Tcl estis tre populara en 80-aj jaroj, sed ĝia populareco nun konstante malkreskas. En lasta tempo Tcl malgajnas la popularecon principe por lingvoj: Python kaj Ruby, kiuj oferas enprogramitan objektemon. Normale oni programas en tiu lingvo nur malgrandajn programojn. Esperantilo estas en tiu kazo escepto. Tio estis ebla plejparte, ĉar mi uzis objekteman metodon por strukturi la programon. Kiel programada medio mi uzas XOTclIDE. Tiu medio estas programita laŭ modelo de Smalltalk medioj. Ĝi ebligas interaktivan metodon de programado kaj facilan trarigardon de sistemo. Mi mem elektis tiun lingvon pro mia propra prefero. Mi spertis, ke per skriptaj kaj dinamikaj programaj lingvoj mia efikeco de programado estas la plej alta. Kompare al programlingvo Java aŭ C# per XOTcl mi estas 5-10 foje pli efika, kvankam mi ankaŭ havas multjaran sperton kun tiuj lingvoj. Tcl havas grandan maturan komunumon de programistoj. Ilia ĉefa medio estas Wiki Tcl kaj mesaĝlistoj comp.lang.tcl. Ekzistas multaj libroj kaj ekzemplaj programoj por tiu lingvo. La efikeco de programado kaj eblo de rapidaj eksperimentoj estis la plej grava kaŭzo por elekto de lingvo. Sed ankaŭ aliaj trajtoj de tiu lingvo estas oportunaj por lingvistika programado:
Ĉar neniu lingvo estas perfekta. Mi rimarkas ankaŭ kelkajn maloportunaj trajtojn:
|
Liczba programowych języków jest bardzo duża (więcej aniżeli 1000), i każdy rok nowe języki programowe powstają. Można powiedzieć o ewolucji języków programowych, ponieważ pomysły i poglądy programowania są wcześniej przekazywane w spadku przez jeden język do inne. Ewolucja często robi postępy do licznych różnych kierunków, lecz kilka języków od nowa jednoczy poglądy innych starych języków. Więc także w zakresie programowych języków mamy wieżę gawędową. (Wikipedia: history of programming languages) Pojedyncze języki programowe sami rozwijają się i są często poszerzone i wywierane wpływ przez ewolucję przez inne języki. Programiści bardzo żwawo i chętnie dyskutują o perferkcyjnym i najużyteczniejszym języku programowym. Powody dla różności języków programowych są różne aniżeli ci naturalnych języków. Nowe języki programowe powstają z powodu technicznej albo naukowej ewolucji albo handlowych interesów firm. Każdy nowy język programowania obiecuje lepsze użycie techniki, większą sprawność, większą użyteczność albo zdatność dla jakiegoś zadania, i rozleglejsze oparcie różnych komputerowych systemów. Liczne małe naukowe języki programowania powstają jako doświadczenie albo jedynie z powodu checiu twórczego naukowców. Ja sam uczyłem się do teraz więcej aniżeli 20 języków programowych i użytkowałem dłuższy czas około 12 języków. Moje najbardziej ważne języki programowe uporządkowane według czas przez uczenie się były:
Badałem także: Ruby, PHP, Python, Haskell, Lisp, Polog, Oz (prawdopodobnie także kilku inni). Aktualnie programuję najintensywniej w językach: {Java}, {XOTcl}, C #. Najsłynniejsze języki programowe są językami z najbardziej tłumnym oprogramowaniem i najbardziej dużą liczbą programistów. Aktualnie te języki są: C, {Java}, C #, Perl, Python, Visual Basic, PHP, {JavaScript}, Ruby i stary Cobol. Powina widzieć także Statystyka o popularności języków programowania Te skorowidze zazwyczaj zajmuje się kilka wskaźników aby komputować popularność. Język, który stał się najszybciej słynny, był w roku 2006 językiem Ruby. Programiści więc uczą się tych języków aby lżej znaleźć pracę. Można znaleźć więcej informacje o tym języku. Można rozróżnić kilka kategori i cechy programowych języków.
Programiści wiedzą, że w zasadzie każdym językiem z mocarstwem {Turing-maŝino} są przypuszczalnie programować wszystkie algorytmy. Moje doświadczenie jest, że powinno się użytkować dla każdej taksy najbardziej przyjazny język. Jest dobrze znać kilka języków programowych i nie przekładać ogólnie jeden pozostały język. Często można użytkować ponownie doświadczenia programistów w jednym języku aby programować system w innym języku. Trzeba przemyśleć nie jedynie obecne położenie, lecz także inni {ĉirkunstancojn}.
W zawodowej pracy wybór programowego języka nie jest zadaniem programisty i często to jest historyczny wybór. Wybór języka programowaniaMyślę, że najczęściej ten wybór jest całkiem przygodny i zależy od szkoły i zakładu pracy programisty. Jeśli ma się szansę samą wybrać język, powinno się ocenić:
Język programowy dla Komputerowy LingwistycznyLingwistyczne programowanie jest bardzo rozległym zakresem, i nie jest lekko powiedzieć, które język programowy jest najbardziej przyjazny dla tego. Trzeba różnić się pomiędzy naukowymi programami dochodzeniowymi albo systemami wcześniej programowanymi dla przeciętnego użytkownika. Często lingwistyczne oprogramowanie jest częścią innych dużych systemów (na przykład: edytorzy tekstu tekstowi) i musi {subordigi} siebie do rulonów {gasta} systemu. Dla lingwistycznego oprogramowania ważnego jest łatwy {reuzado}. Dlatego liczne lingwistyczne systemy są wcześniej programowane w {Javo}, który obecnie ma dużą rolę w handlowym programowaniu. Główna zaleta tego języka programowania jest dużą popularnością w licznych zakresach. Lecz także istnieją duże lingwistyczne programy wcześniej programowane skryptowymi językami jak: Python (NLTK), Perl i Tcl (Wywabianie). Doświadczałem, że kolejne cechy są ważne dla komputerowe lingwistyczne:
Kilku lingwistyczne systemy, które bazują na {limiglogika} programowaniu albo {predikatkalkulo}, użytkuje specjalne języki programowania jako Prolog albo Oz. Te systemy zostały najbardziej stworzone w uniwersyteckie {medioj.Mi} sami doświadczały, że najbardziej przyjazne są dynamiczne {skriptlingvoj}, które są także obecnie zdatne dla dużych systemów. Teraz najbardziej słynne i godne polecenia są języki: Python i Ruby. Wcześnie programiści często dyskutowali o {esprimpovo} języka albo synktaktyki. Lubię języki, w których można krótkimi {esperimoj} programować przemożne {reuzeblajn} struktury. Te języki są: Smalltalk, Ruby, Python albo {XOTcl}. Oto przykładowe prawodawstwo, które daje ostatnią 2 literę słowa dla różnych programowych języków.
Dla C i C + + tą taksą jest nawet więcej skomplikowany, ponieważ trzeba także przemyśleć użycie pamięci. Dobrze widzi się, że to proste zadanie jest we Smalltalk i we skryptowym języku najczystszym i {mallonga.Lingvoj} jak C + +, {Java} albo C #, którzy mają statyczny typowy system zabawny mają bardzo dużą rolę w handele i jest użytkowani dla bardzo dużych handlowych projektów. Lecz dla językoznawstwa komputerowego, gdzie algorytmy mógą być bardzo skomplikowane, ten typowy system zabawny może bardzo przeszkadzać i być bezużyteczny. Te języki nie ofiarują przemożnych abstrakcji aby skracać prawodawstwo programowe. Więc programowanie tymi językami jest mniej efektywne i prawodawstwo wynikowe dłuższe. To jest także wygodne inaczej dla tylnego pielęgnowania systemu. Znana strategia jest także programować po pierwsze pierwowzór we skryptowym języku i potem, kiedy jest się pewne o operacji, programować ponownie ten moduł w języku jak C, C + +, {Java} albo C #. To robi się najczęściej aby przynaglać albo powiększać inaczej ten moduł. Język Tcl jest także zwany jak {glutea} język. Ten język jest więc użytkowany jak pośladek przez moduły wcześniej programowany w języku C albo C + +. Także inne skryptowe języki mógą być użytkowane jako pośladek. Moje doświadczenie jest, że także ważne jest niezmienne środowisko programowe, popularność i dodatkowe moduły. Zawsze jest właściwiej użytkować ponownie obcy moduł aniżeli programować ich początku. Powinno się zważać także, że inni programiści chcą także przeczytać i użytkować ponownie {programpecojn}. W zawodowych systemach każda linia prawodawstwa jest jedynie pewnego razu napisana lecz średnio 10-raz przeczytana. W końcu nikomu nie jest bezużyteczne uczyć się licznych języków programowych. Język programowy “Esperantilo”Esperantilo jest wcześniej programowane w Tcl (Wikipedia) z dodatkowym obiektowym modułem {XOTcl}. Język zalicza się do tak zwany skryptowe i interpretacyjne języki. Ten język jest często użytkowany przez nie {informatikistoj}, ponieważ ono jest lekko możliwe do nauki. Język Tcl był bardzo słynny w 80 latach, lecz jego popularność teraz stale zanika. W ostatnim czasie Tcl przegrywa popularność w zasadzie dla języków: Python i Ruby, którzy ofiarują {enprogramitan} {objektemon}. Normalnie programuje się w tym języku jedynie małe programy. Esperantilo jest w tym przypadku wyjątkiem. To było możliwe przeważnie, ponieważ użytkowałem obiektową metodę aby formatować program. Jak {programada} środowisko ja użytkuje {XOTclIDE}. Tym środowiskiem są wcześniej programowane według model przez Smalltalk środowiska. Ono umożliwia interaktywną metodę programowania i łatwe zwiedzanie systemu. Ja sam wybrałem ten język z powodu mojego własnego zamiłowania. Doświadczałem, że skryptowymi i dynamicznymi językami programowymi moja sprawność programowania jest najwyższa. W zrównaniu do języka programowania {Java} albo C # {XOTcl} mną jest 5-10 raz efektywniejszy, aczkolwiek także mam wieloletnie doświadczenie z tymi językami. Tcl ma dużą dorosłą wspólnotę programistów. Ich główne środowisko jest Wikia Tcl i {mesaĝlistoj} {comp.lang.tcl}. Istnieją liczne książki i przykładowe programy dla tego języka. Sprawność programowania i możliwości szybkich doświadczeń była najważniejszym powodem dla wyboru języka. Lecz także inne cechy tego języka są wygodne dla lingwistycznego programowania:
Ponieważ żaden język nie jest perferkcyjny. Zauważam także kilku wygodny inaczej cechy:
|