Jump to content

Modernās programmēšanas valodas


Mezavecis
 Share

Recommended Posts

Tātad izdomāju, ka šāda lieta nav nekur tā īsti apcilāta. Tātad laiki mainās, rodās jaunas platformas gan windows vidē, gan unix. Protams, laba lieta ir universalitāte, bet nu ko ir pagrūti nodrošināt.

 

Pie modernajām programmēšanas valodām varētu pieskaitīt tās, kas tiek ieviestas jaunākajos risinājumos, ar plašām iespējām, kā piemēram VB.NET, Java, C++ un citas. Katrām ir tomēr savi trūkumi, plusi mīnusi.

 

Tā teikt es esmu iepazinis VB, VBA un Java un PHP. Tad tās nedaudz pakomentēšu.

 

VB ir tāds mīnuss, ka izpildīšanai vajag obligāti windows vidi, kas attiecīgi samazina pielietojamību, vēl jo vairāk, ka alternatīvas OS procentuāli sāk aizvien vairāk parādīties un tiek popularizētas. Izstrādes vides kārtējo reizi ir par maksu. Bet nu ja tā salīdzina, VB ir viena no visvienkāršāk apgūstamām valodām. Lai gan VB un VB.NET ir atšķirības sintaksē un uzbūvē, jo VB iespējas bija izsmeltas un bija daudz ierobežojumi, piemēram unikods, jaunu ierīču pievienošana.

 

Java tomēr ir visuniversālākā valoda - tā ir sastopama uz visa veida platformām, telefoniem, plaukstdatoriem. Turklāt ir atvērtā koda valoda, kur daudz kas ir pieejams par brīvu. Kompilēšanai un programmas izveidei, palaišanai un kompilēšanai pietiek ar pat konsoli. Bet nu ar Eclipse, kas ir pieejama par brīvu ir daudz ērtāk strādāt un daudz labāks variants nekā notepad vai tamlīdzīgie rīki. Turklāt Java programmas iespējams jau taisīt priekš 2 un vairāk procesoriem un kodoliem tādejādi uzlabojot funkcionalitāti.

 

PHP jaunākās versijas ir jau objektorientētas un iespējas ir ļoti plašas. PHP vide ir samērā vienkāršota attiecībā uz tekstiem. Arī rezultātu interpretēšana neprasa lielus ieguldījumus, turklāt rezultāts redzams uzreiz, bet statisks.

 

Par VC++, Dephi u.c. man nav ko īsti komentēt, jo saskare maz ar to ir sanākusi.

 

Vecās valodas kā pascal, asm u.c. neiztirzasim, jo programmatūras izstrādē maz tiek pielietotas. Viena lieta, kas tiek cilāts apmācības procesā, cita - kas reāli tiek izmatotas pilnvērtīgu programmu izstrādē ar grafisko vidi, funkcionalitāti.

 

Tātad gaidīti jūsu komentāri par to, ar ko darbojaties, ko esat ievērojuši, kas labāks ir citur, kādi mīnusi, uzlabotas iespējas utt. Varbūt kas jauns un progresīvs ir parādijies.

Link to comment
Share on other sites

Ja interesē universiāla valoda un arī lai tā ir viegla - nu visādu sikprogrammu rakstīšanai tad varētu ieteikt RealBasic - http://www.realbasic.com/products/realbasic/index.php

 

Pēc sintakses ir tuvs VB, bet striktāk ar mainīgiem un tipiem jādarbojas, respektīvi tādas brīvdomāšanas kā VB nav - visus mainīgos ir jāapraksta sākumā .... nu un tādā stila...

 

Var kompilēt programmas priekš Windows, Mac (gan PowerPC, gan Intel pročiem) un Linux. Respektīvi programma tev darbosies natīvi vajadzīgā OS'ā, bez jebkādiem tur interpretātoriem, emulātoriem vai virtuālās vidēs.... tīrs noteiktas OS (un procesora) kods.

 

No lieliek mīnusiem var minēt cenu. Ja vēlies taisīt programmas visām vidēm (no vienās vides, teiksim Windows) tad maksā 500 zaļos, ja tikai vinai platformai no vienas platformas - tad 200$. Vēl piedāvā pa 750$ nopirkt uzreiz 3 Basic'us (programmas), un kodēt jebkurā vidē (Win, Mac, Linux), jebkurai videi (Win, Mac, Linux). Proti man nav skaidrs priekš kam tas vajadzīgs, ja sēdi uz viena kompa (Linux teiksim) kam tev Windows Basics, nokompilēt tak tu vari kodu priekš Windows arī uz Linux (nu ja ir tā versija pa 500 baksiem).

 

Pats biju atpumpējis 90 dienu trial versiju, bet kaut kādi laika nebij iedziļināties, vizuāli jau izskatās kā VB - te ir demo video, kur var redzēt kā tas izskatās dzīvē http://www.realsoftware.com/products/realb...ch=7&os=lin

Link to comment
Share on other sites

Gribēju piebilst, ka Javu izmanto arī uz HD-DVD un Blu-Ray disku pleijeriem dažādu skriptiņu izpildei un dinamiskajos menučos.

No arhaiskām valodām - aizmirsi Fortran, kaut gan šķiet RTU tas joprojām ir topā studentu apmācībai.

Link to comment
Share on other sites

Man kādu laiku iekšā sēž kāds mazs velnēns, kas saka, ka pašreizējās web aplikācijas nav tik labas kā varētu būt. Tas gan ir mazāk jautājums par valodu un vairāk par vidi. Laikam jau .NET'ā pašlaik ir vislabāk realizēts 'kodēju priekš web/desktop, vienalga', taču no tas nav tas. Es gribu absolūti interaktīvas web aplikācijas - ar drag'n'drop, lietojamību offlainā utt, t.i. lielu daļu no funkcijām, kas pašreizējā situācijā saprotamu iemeslu dēļ ir pārlūkos speciāli ierobežotas. Tas ļautu ietaupīt programmēšanas darbu, ja nepieciešams risinājums abās - gan web, gan desktop vidēs (piemēram, e-pasta klients) vai arī bez papildu darba paplašināt kādas esošas aplikācijas pielietojumu (piemēram, es uzrakstu savu versiju par word, kuru kaut kur uz sava kompīša arī bakstu. vienā dienā varu izdomāt 'what the hell' un palaist to kā online aplikāciju, kas darbojas interneta pārlūkā).

Link to comment
Share on other sites

Offline web aplikācijas? Neesi galvu durvīs iespiedis? :shock:

 

Kaut arī - ja gribi pilnvērtīgu aplikāciju, kura var pienākt caur web, bet pēcāk strādāt arī uz Tava kompja, tad principā to jau šobrīd nodrošina Java.

 

Par programmēšanas valodu salīdzinājumu - nav īsti korekti šādā veidā salīdzināt programmēšanas valodas, jo tās katra ir domāta savam mērķim. Dažādiem uzdevumiem piemērotākas dažādas valodas. Manas domas par pieminētajām un ne tik pieminētajām valodām:

 

Assembleris visam ir pamatu pamats. Procesors saprot tikai assemblera kodu, tāpēc varu droši teikt - šī valoda neizmirs nekad. Ja to vispār var saukt par valodu, jo katram procesoram ir savs assembleris. Un dažādām procesoru versijām mēdz pat būt dažādi assembleri. Tā, piemēram, AMD un Intel regulāri papildina savus jaunākos procesorus ar jauniem instrukciju komplektiem. VGA ražotāji arī taisa jaunas un jaunas Shader assembleru versijas, utml. Nevar arī teikt, ka assemblers netiek izmantots mūsdienās. Tiesa - tajā neraksta lielas programmas, kuras tiešā veidā lieto gala lietotājs, bet tajā raksta daudz dažādu programmu, bez kurām lietotājprogrammas nemaz nevarētu eksistēt. Tā piemēram assembleri izmanto dažādu draiveru un operētājsistēmas kodola daļu izstrādei; assembleri izmanto rakstot firmwares dažādām ierīcēm; veidojot kompilatorus nākas izmantot assemblera zināšanas; pat dažās datorspēlēs var būt kādi gabali, kas rakstīti assemblerā, jo ir bijusi nepieciešamība pēc maksimālās ātrdarbības. Tāpat arī uzskatu, ka assemblera zināšanas, kauču nelielas, ir nozīmīgs bonuss katram programmētājam, jo tas ļauj DAUDZ labāk izprast, kā tad tā kaste īsti strādā.

 

C/C++ ir šobrīd populārākās valodas dažādu programmu izstrādei. Tajās tiek rakstīta lielākā daļa mūsdienu programmu. Nu, varbūt vienīgi web aplikāciju izstrādē šī valoda ir mazāk pielietota. Šajās valodās kodu ir viegli strukturēt (tātad ar to ir viegli strādāt), un tajā pašā laikā šīs valodas piedāvā samērā efektīvu datora resursu pārvaldību. Tomēr, lai pilnvērtīgi šajās valodās programmētu, vajadzēs zināmu pieredzi, jo diezgan daudz kas ir "jādara ar roku". It sevišķi problemātiska šajā ziņā ir atmiņas pārvaldība.

 

Pascal ne tuvu nav veca un mirusi valoda. Pascal joprojām ir viens no labākajiem līdzekļiem programmēšanas mācīšanai, tāpēc to daudz izmanto izglītībā. Arī dažas opensource programmas ir rakstītas tajā. Kā arī populārais Delphi ir veidots par pamatu ņemot Pascal, un pieliekot tajā trūkstošas lietas. Rezultātā Delphi valoda ir ļoti līdzīga Pascalam.

 

Java valodas lielā priekšrocība ir divos faktos - automātiska atmiņas pārvaldība, un daudzplatformu atbalsts. Java programmas, kad nokompilētas, patiesībā nav neviena datora assemblerā. Tā vietā Javai ir savi "mašīnkodi" (tos sauc par Java bytecode), kurus uz konkrētā datora izpilda Java virtuālā mašīna. T.i. Sun kompānija (Java radītāja) raksta pa vienai virtuāljai mašīnai priekš katras platformas, un Java kods tālāk izpildās uz šīs virtuālās mašīnas, nevis pa tiešo uz šī datora. Tomēr tam ir arī sava cena - tā kā Java kodu neizpilda pats procesors, bet gan Java virtuālā mašīna, tad programmas strādā krietni vien gausāk nekā analogas programmas, piemēram, C valodā. Tomēr Java ir stipri izplatīta tā fakta dēļ, ka automātiskā atmiņas pārvaldība stipri atvieglo programmētāja darbu (nav jāuztraucas par atmiņas korektu atbrīvošanu), un programmas var izstrādāt daudz ātrāk. Tā kā laiks=nauda, un izstrādātāju laiks maksā daudz vairāk nekā serveru dzelži, tad rakstīt serveru programmas Javā sanāk lētāk. Atšķirības ātrdarbībā tiek kompensētas ar jaudīgākiem dzelžiem.

 

Visual Basic (ne .NET) ir Microsoft vecā flagmaņvaloda, taču ar .NET piedzimšanu tā ir zaudējusi jebkādas priekšrocības. Tā rezultātā šī valoda patiesi tuvojas "mirušajam" statusam. Pagaidām vēl ir vecās programmas, kuras tiek uzturētas, bet jaunas tajā praktiski vēl netop. Varbūt vienīgā vieta, kur šī valoda vēl turpina eksistēt, ir Ofisa programmās ar Visual Basic for Applications (VBA). Taču par to es daudz neko nezinu, un nebūtu arī pārsteigts, ja arī tur jau tas būtu nomainīts ar VB.NET.

 

Visual Basic.NET un C#.NET ir praktiski viena un tā pati valoda, tikai ar atšķirīgu sintaksi. Pietiek ar vienu A4 lapu, lai uzskaitītu visas atšķirības starp VB.NET un C#. Var gandrīz uztaisīt viennozīmīgu "tulku", kas pilnīgi automātiski pārtaisa C# programmu par VB.NET programmu un otrādi. Patiesībā pat šādas programmas jau ir diezgan daudzas. Kaut arī ir dažas (uz vienas rokas pirkstiem saskaitāmas) atšķirības, kuras nav iespējams pārtulkot, jo otrā valodā nav analogu.

 

.NET ir Microsoft versija par Java. Redzot, cik labi klājas Java, Microsoft saprata, ka šis laikam ir pareizais ceļš nākotnē, un radīja arī savu virtuālo platformu ar automātisku atmiņas menedžeri. Rezultātā .NET ir tieši tās pašas priekšrocības, kas Java. Tikai Microsoft izvēlējās taisīt mazliet gudrāk, un taisīja nevis pilnu virtuālo mašīnu, bet gan dinamisko rekompilāciju - t.i. .NET programmas darbības sākumā tiek "pārtaisītas" no .NET assemblera uz konkrētās mašīnas assembleru, un tad izpildītas jau pa tiešo uz CPU. Rezultātā .NET programmas tomēr strādā ātrāk nekā Java programmas, kaut arī vēl ievērojami lēnāk, nekā C/C++ programmas. Tiesa - tādus kārtīgus ātrdarbības salīdzinājumus šajās valodās es vēl neesmu redzējis, tāpēc atšķirības varētu būt citādākas, nekā es šeit stāstu.

 

.NET savu popularitāti ieguvis pateicoties Microsoft, kas šo valodu aktīvi popularizēja savu izstrādātāju vidū, kā arī integrējot to daudzos savos jaunajos produktos. Tāpat arī Microsoft mācījās no Javas kļūdām, un rezultātā savu valodu uztaisīja priekš izstrādātājem ērtāku, nekā Java.

 

PHP ir skriptu valoda ar visām no tām izrietošajām sekām. Tās popularitātes noslēpumu ir grūti pateikt, bet šķiet, ka "tā sanāca". Principā tā ne ar ko neizceļas, ja neskaita to, ka tajā ir viegli rakstīt kodu, un tā ir piemērota tieši web aplikācijām. Diemžēl jāatzīst, ka reizēm kodēt tajā ir pārāk viegli, un nereti PHP programmas ir stipri neefektīvas. Arī mācīties programmēt ar PHP nav gluži laba doma, jo tas izveido sliktus ieradumus. PHP ir interpretēta valoda, kas nozīmē, ka tā būs ar kārtu lēnāka par kompilētajām valodām. Tomēr tai ir arī priekšrocība - programmas nevajag kompilēt. Arī iebūvētais atmiņas menedžments padara rakstīšanu PHP ērtu.

 

Vēl pie valodām jāpiemin JavaScript. Lai arī nosaukums liek domāt par saistību ar Java, tomēr tā nepavisam nav. JavaScript valoda arī ir skriptošanas valoda, taču tā ir paredzēta tikai vienam mērķim - kods, kurš weblapā izpildās klienta pusē. Pēdējā laikā tā kļūst arvien nozīmīgāka, jo modē nāk AJAX un Web 2.0. Tā kā šī ir vienīgā valoda, kas var radīt klienta pusē izpildāmu kodu (VBScript neskaitās, jo to atbalsta tikai IE), tad tai arī ir vēl garš mūžs priekšā. Bet, nu - kā jau atzīmēju, tai ir ļoti specifisks mērķis.

 

Daļēji šeit arī varētu pieminēt SQL. Šī "valoda" arī ir konkrētam uzdevumam - datu manipulācija datubāzē. Diemžēl, lai arī ir ANSI SQL standarts, tomēr katra DBVS tomēr lieto savu SQL dialektu, tāpēc SQL "valoda" ir ļoti šķidrs jēdziens. Tomēr alternatīvas SQL šobrīd nav, un valoda ir savā pašā plaukumā.

 

OK, vairāk nekādu valodu nezinu. Manuprāt, šajā topikā derētu vēl pieminēt tādas valodas kā Perl, Python un Ruby. Taču par tām tad lai stāsta kādi cilvēki, kas par to kaut ko zin.

Labots - Vilx-
Link to comment
Share on other sites

Paldies Vilxam par pēdējo komentāru.

Tiešām vēlētos dzirdēt kaut ko par perl, python un ruby no kāda šejienieša.

Link to comment
Share on other sites

Vilx-: arī Java'i (vismaz Sun ražotajam kopš J2SE versijas 1.2) arī ir tavis pieminētais JIT - baitkods tai tiek kompilēts uz neitīvo mašīnkodu runtaimā.

 

Varu drusku pastāstīt par python. Tā ir valoda ar dinamiskiem tipiem, kas nozīmē, ka mainīgie nav jādefinē - līdzīgi kā php. Tik viena no lielākajām atšķirībām no php, ka mainīgie paši nepārvērš tipus - līdzīgi kā C nevar piešķirt integer'am floatu vai stringam integeru. Vajag pašam impilciti rakstīt, ko un kā pārvērst. Tas vai tas ir slikti vai labi paliek katra ziņā. Citiem tas liekās kā liels mīnuss, man savukārt tas patīk daudz labāk. Lai nu kā, kā vienu no lielākajiem Python plusiem es redzu tā izmantošanu prototipiem (tā vismaz mēs darbā izmantojam pitonu). Tas nozīmē, ka ir ideja ko un kā vajag uzrakstīt. Neies sākumā rakstīt kautkādā C vai C++, jo tas prasīs daudz ilgu laiku, tāpēc realizējamā programma (vai tās fragments) tiek uzrakstīt Pythonā, un, ja labi zin pitonu, tad to var izdarīt ļoti ātri. Tad, kad tas ir uzrakstīts un pārbaudīts ka viss strādā, tad tik pēc tam tiek kods pārportēts uz C++ (ātrdarbības dēļ). Agrāk vēl tik pārportējām dažas vietas no koda kā Python paplašinājumus, bet nu jau labu laiku tā vairs nedaram. Šāda python izmantošana ir izrādījusies diezgan izdevīga.

 

Python ir diezgan sakarīgs standartbibliotēka, nav kā php, kurai funkcijas vārdi ir diezgan haotiski. Kā arī pitonam ir ļoti sakarīgas OOP iespējas. Vienīgas mīnuss (pašlaik) ir atmiņas rijība, kas ir samērojama ar .Net un Java softiem, un ātrdarbības problēmas, ja jāoperē ar daudz kalkulācijām. Kā jau iepriekš minēju, ir diezgan vienkārši pieslēgt pašrakstītu paplašinājumu C/C++'ā un kritiskās softa vietas pārportēt. Vietās, kur šāda veida ātrdarbība nav tik ļoti svarīga (GUI), programmēt ar Python ir ļoti ērti.

 

Pitonā ir arī iespējams programmēt iespēju robežās funcionālā programmēšanas stilā. Lambdas, list comprehesion'i, un tml fīčas.

 

Ir arī pieejami freimworki web aplikāciju būvēšanai, kas balstās uz Python - Django, Turbo Gears, bet nu tos es neesmu izmantojis - nevarēšu komentēt.

Labots - bubu
Link to comment
Share on other sites

Mezavecis

Vilx-, labs apraksts. Par VB sakot, protams, VBA ir dzīvs un turpina dzīvot, joprojām ir vajadzība to nedaudz piefrišināt un atdzīvināt.

 

SQL - es nesauktu to par īstu programmēšanus valodu, jo tā spējīga tikai darboties kopā ar datu bāzi - tā teikt atkarīga no ne tikai no platformas, bet arī no vides, kurai tā tiek piemērota. Bez tās, tā nav nekas.

 

Vilx-, piekrītu, Java lēnāk izpildās nekā tā pati programma uz C. Bet toties tā pati proga uz Linux, Pocket PC būs tikpat darbīgspējīga, un tas jau daudz ko izsaka. Mūsdienās multifunkcionalitāte ir efektīvāka par vienas platformas programmēšanas valodu. Agrāk tā neteiktu, bet praktiskā veidā pārliecinājos, ka izstrādā programmu un tā var darboties jebkurā OS. Pietiek vien uzinstalēt platformu.

 

Es domāju ka mūsdienās klients ienteresēts vairāk maksāt par stabilu progu nevis nestabilu (neatkļūdotu C risinājumu). Laiks ir nauda.

 

Gribētos tomēr zināt, kas vēl ir jauns radies pa šo laiku. Kā jau minēja, realbasic ir pajauns, bet maksas risinājums. Vēl labāk būtu zināt tendences, uz ko vairāk jaunatnei mērķēt.

Labots - mezhavecis
Link to comment
Share on other sites

Jā, protams. Tāpēc arī pasūtījuma programmas lielākoties to .NET/Java. Taču multiplatformainība - nu, nez... es tā arī īsti nekad neesmu saskāries ar vajadzību taisīt multiplatformu aplikāciju. Ja diži vajag, pārsvarā pietiek ar web aplikāciju. Uz mobilajiem, protams - tur pat nav izvēles - tur ir tikai Java. Nu, izņemot viedos tālruņus, protams. Bet tīri multiplatformu aplikācija... ideja jau ir cēla, bet cik patiesi ir tādi softi, kas to reāli izmanto?

 

Par SQL - itkā jā, pliks ANSI SQL spēj darboties tikai ar tabulām (laikam, es ANSI SQL nepārzinu :oops:)- taču reti kurā DBVS ir pliks SQL. Parasti tas ir apaudzēts ar dažādām citām iespējām (piem. stored procedures/functions), kas rezultātā dod diezgan plašas programmēšanas iespējas pašā DBVS. Piemēram, gan Oracle, gan MSSQL eksistē paplašinājumi, ar kuriem ir iespējams uztaisīt pilnvērtīgu web aplikāciju izmantojot tikai storētās procedūras! (Iedomājies, ka requesti tiek forwardēti uz kaut kādu procedūru, un ar īpašām f-jām Tu dragā ārā HTML).

 

Jaunas valodas - Iesaku apskatīties LOLCODE :mrgreen: Taču, ja nopietni - jaunas valodas top katru gadu diezgan daudz. Pārsvarā tās ir jau eksistējošu valodu varianti, taču ik pa laikam kāds arī uzdrošinās uztaisīt ko jaunu. Tomēr popularitāti īpaši nekas nav guvis...

 

Tagad laikam nāk modē Ruby. Vismaz ik pa brīdim par to kaut ko padzird. Taču valoda nav nemaz tik jauna - savu pirmo publisko relīzi tā piedzīvoja jau 1995. gadā... Vajadzēja vairāk kā 10 gadus, lai valoda taptu atpazīta un to sāktu plaši pielietot. Tā kā nedomā, ka ir kaut kas tāds "jauns cēls skaists", kas nu tik tūlīt uzkāps popularitātes virsotnē. Tā nav. Programmēšanas valodas apgriezienus uzņem lēni.

Labots - Vilx-
Link to comment
Share on other sites

Mezavecis

root, nē tāpat informācijai, lai radītu ieskatu pašreizējai situācijai, ko tirgus prasa. Lai gan saka, ka migrēt no vienas programmēšanas valodas uz otru viegli, ja ir pietiekamas zināšanas, bet patiesībā tomēr ir zināms laiks pie tā jāpavada, nevis lai saprastu, bet arī spētu kaut ko radīt.

Link to comment
Share on other sites

Lieto to, ko zini, ka tas der vajadzīgajam uzdevumam. Labāku neko neatradīsi. ;)

 

Btw - palasiet manu iepriekšējo postu, nupat pielaboju to, un nu tur ir viss, ko gribēju teikt. :)

Link to comment
Share on other sites

Mezavecis

Nez, esmu gan sastapies ar variantu, ka viens kliens prasa uz linux, cits uz windows bāzētu sistēmu. Neies taču visu pārtaisīt. Tamdēļ jādomā tālredzīgi.

Link to comment
Share on other sites

Mezavecis

Funkcijas tās pašas. Nu nedaudz jāpamaina sistēmas parametri, bet būtībā pat proga netiek pārkompilēta.

 

Kā jau teicu, pašlaik esmu atradis, ka java spēj būt multifunkcionāla programmēšanas valoda. Tāds bija mērķis noskaidrot, kādas ir vēl. Ja reiz radām kādu progu, tad priekš visiem, nevis atsevišķai lietotāju grupai.

 

Bet kas ir ar C++? Tākā mānīts arī linuksā. Vērojams kāds progress?

Link to comment
Share on other sites

A kas ir ar C++ linuksā? C un vēlāk C++ ir primārās valodas, kurās viss notiek Windows/Unix/Linux/utml. Tiesa - C/C++ ir grūti ar cross-platform aplikācijām, jo ir daudzas lietas, kas ir platformas specifiskas. It sevišķi UI API. Taču biznesa loģiku utml. var arī rakstī cross-platform. T.i. C/C++ programmas var programmējot sadalīt 2 daļās - multiplatformīgā, un platformas specifiskā. Tad, portējot programmu, vajadzēs portēt tikai platformas specifisko daļu. Un ir arī visādas bibiliotēkas, kas vēl vairāk palīdz samazināt platformas specifisko daļu.

Link to comment
Share on other sites

Nedaudz par Ruby. Es gan nēsmu pārāk daudz ar to srādājis, bet dažas lietas, kas man palika atmiņā no tās:

 

Es to nosauktu par ļoti augsta līmeņa valodu, jo ietekmēt programmās pamatlietas kā atmiņas izmantošanu utt nevar (vismaz man neiznāca). Visa valoda ir pārspīlēti objektorientēta, jo nav nekā cita izņemot objeki (arī mainīgie ir objekti), metodes, un klasses. Sarežģīti rakstīt tajā, jo jāņem vērā pieraksta sintakse, kuru varētu sakut jau nevis vienkārši par sintaksi, bet gan gramatiku.

Viekāršas sandartlietas ar Ruby valodu var izveidot ļoti ātri, būtība dažu rindiņu programmas kods jau ļau izveidot normāli funkcionējošu web lapu. Es tektu, ka saliidzinaajumaa ar php standartlietinas var uzraxtiit ar 20x - 50x mazāk koda. Tas mani sākumā ļoti iepriecināja. Turklāt nestandarta situācijas prasa 100x leilāku darba iegūldījumu nekaa ar php.

Valodu vēl varētu nosakukt par ļoti zaļu(ne jaunu), jo tajā bieži vien pat vienkāršos kodos atrodas programmēšanas valodas bagi.

Par to vai vajadzētu sākt mācīties programmēt ar Ruby? Es teiktu noteiktu NEE, jo tas ka Ruby valodā ir grūti raxtīt sliktu kodu neļauj cilvējiem saprast programmēšanas pamatlietas/likumus.

Link to comment
Share on other sites

Vēlējos piebilst, ka .NET ir iespējams gan izpildīt, gan nokompilēt, izmantojot MONO, vai arī SSCLI.

Tādēļ apgalvojums, .NET ir pieejams tikai uz Windows ir aplams.

.NET ir pieejams arī uz LINUX, FreeBSD, MAC OS X, UNIX, Solaris.

Link to comment
Share on other sites

Mūsdienās netikai būtiski cik pati valoda ir advancēta, bet gan izstrādātāju vides. Piem Visual studio, Eclipse, Pl/sql Developers. Ar tām ikdienā sastopos un tik tiešam visu cieņu to izstrādātājiem.

Bet ja runā pa valodām tad mans uzskats c# un java.

Link to comment
Share on other sites

Es dotu priekšroku C++, Java un Pascal/Delphi. .NET neieredzu 2 iemeslu dēļ:

  1. Pārlieku samocīta struktūra
  2. Visa gribēšana kodēt pārgāja, kad sadūros ar Microsoft interpretāciju par AJAX

Assembleris visam ir pamatu pamats. Procesors saprot tikai assemblera kodu, tāpēc varu droši teikt - šī valoda neizmirs nekad.

 

Manuprāt - nedaudz neprecīzi. Procesors saprot tikai mašīnkodu - assembleris ir mašīnkoda tekstuāla interpretācija. Tu nevari Notepadā sarakstīt mov, push utt., pārsaukt to par .exe un pucēt vaļā.

Labots - barakuda
Link to comment
Share on other sites

Par assemberu taisnība. Es pat teiktu, ka assembleris ir nevis mašīnkodu interpretācija, bet gan reprezentācija. Taču, tā kā assemblers un mašīnkodi ir gandrīz ekvivalentas lietas, tad viss manis teiktais joprojām ir spēkā.

 

Par Java/.NET - piekritīšu, ka ir mazliet jāpierod pie šī domāšanas veida. Taču, kad tas izdevies (man pietika ar ~2 nedēļām darbā), tad var saprast, ka patiesībā šajās valodās kodēt ir daudz vieglāk & ērtāk nekā C++. Nekas "samocīts" tur nav.

 

Un Microsoft AJAX - a Tu parastās ne-AJAX lapas mēģināji taisīt? Tad redzētu, ka tur gandrīz nav atšķirību! Microsoft savu AJAX ir uztaisījuši ļoti labu tajā ziņā, ka AJAX vai ne-AJAX kodam gandrīz nav izmaiņu. Patiesībā pat to AJAX var viegli ieslēgt un atslēgt ar mnimālām koda izmaiņām. Nē, nu, OK - ir arī lietas, kas AJAX weblapām atšķiras no ne-AJAX. Taču tās ir diezgan specifiskas nianses, kas izliet tikai taisot lielas izvirtības (kā, piemēram, manos projektos :p)

 

Taču ASP.NET lapas kā tādas ir savā ideoloģijā diezgan radikāli atšķirīgas no lapām PHP/Ruby/u.c. valodām. Tāpēc arī pirmajā brīdī tās šķiet tik murgainas. Nezinu gan, kā ir ar JSP - to nekad neesmu darījis. Bet eventuāli pie tā arī pierod, un tagad jau man pat šķiet, ka Microsoft pieeja lapām kā formām ir daudz ērtāka un efektīvāka nekā klasiskā pieeja, kur viss HTML kods jāraksta pašam.

Labots - Vilx-
Link to comment
Share on other sites

Pirmkārt, labprāt uzzinātu, ko autors domājis ar "*Modernās* programmēšanas valodas"?

 

Ja vispārīgi runā par valodām, tad daudz kas jau ir pateikts, un pats svarīgākais, ko pieminēja Vilx- - Katrai valodai sava vieta.

 

Par SQL - to neliksim pie programmēšanas valodām, toties pieliksim PL/SQL un analogus citās DBVS. Valoda izmantojama saviem mērķiem, kur nav efektīvu alternatīvu.

Link to comment
Share on other sites

moderna programmēšanas valoda ir tā kuras ģenerētais kods spēj noslogot arī modernos procesorus, kuru saprast spēj modernie programmētāji un tā visa rezultātā modernais kapitālists var braukt ar vismodernāko auto.

 

Jebkurā gadījumā es šeit nevienu argumentētu postu neredzēju - katram no sava lauciņa kāds kreņķis, bet lielo bildi šeit neviens neredz.

Link to comment
Share on other sites

Nu, uztaisīt programmu, kura noslogo dajebkuru procesoru, nav grūti. Kaut vai tā pati PI rēķināšana - raksti cik vien vecā valodā gribi, tāpat paraus visu CPU. Nu, varbūt ar multi-core CPU būs pagrūtāk. Tad valodai ir noteikums, ka jābūt atbalstītam multi-threadingam.

 

Varbūt ar "modernu" valodu ir domātas visas valodas, kas radušās pēc C? Tā pagaidām ir šeit vecākā valoda.

 

Par argumentiem - nu, ko tur daudz argumentēsi? Es jau savā megapostā iekļāvu dažus argumentus, kaut arī, protams, vairāk tur bija iespaidi.

Link to comment
Share on other sites

bobiksons

Topikam vispār nav jēgas.. jo neredzu mērķi. Ja nu vien paspīdēt kurš ko prot :roll:

 

Procesors saprot tikai assemblera kodu, tāpēc varu droši teikt - šī valoda neizmirs nekad

te nu tu lej... CPU nekad nav sapratis ASM-u... ASMU tāpat kā jebkuru citu programmu ir jākompilē...

 

asm u.c. neiztirzasim, jo programmatūras izstrādē maz tiek pielietotas.

Te nu tu arī lej... ASMU itin bieži izmanto 3D softiem, jo sanāk krietna optimizācija (Math lib-iem)

Link to comment
Share on other sites

Guest Gacha

Domāju, ka objektīva risinājuma te nav, jo programmēšanas valodas izvēle ir līdzīga auto izvēlei. Tās ir tik daudz un dažādas. Mēs varam ieteikt izvēlēties smago vai vieglo, bet to, kuru marku lietot jāizvēlas pašam.

Link to comment
Share on other sites

Bet tīri multiplatformu aplikācija... ideja jau ir cēla, bet cik patiesi ir tādi softi, kas to reāli izmanto?

 

Praktiski visas Java kodēšanas vides ir multiplatformu. Un arī vairums parasto lietojumprogrammu, kā piemēram azureus. Un serveri... visi Java serveri (JBoss, Tomcat, glassfish....) ir 100% multiplatformu.

 

Tagad laikam nāk modē Ruby. Vismaz ik pa brīdim par to kaut ko padzird. Taču valoda nav nemaz tik jauna - savu pirmo publisko relīzi tā piedzīvoja jau 1995. gadā... Vajadzēja vairāk kā 10 gadus, lai valoda taptu atpazīta un to sāktu plaši pielietot.

 

Tas notika tikai pateicoties RubyOnRails ietvaram. Visi ir kā traki uz to. Interesanti ka uz JVM bāzes arī ir izveidota valoda ar dinamiskajiem datu tipiem un visām modernajām lietām, kā closures - Groovy. Un arī RoR analogs - Grails. Ir arī JRuby - Ruby implementācija Javā.

Link to comment
Share on other sites

"Kas der visam tas neder nekam!" Ikdienā nākas lietot vienu Java programmu, nevarētu teikt ka ātrdarbības un gļuku ziņā būtu sajūsmā, kaut arī man ir 2-kodolu procis. Tad jau labāk būtu pacentušies un izveidojuši atsevišķas kompilētās (ne-Java) versijas priekš Windows un Linux.

 

Man vislabāk patīk Delphi (7 versija, jaunākām nepatīk IDE) - vienkārša programmēšana, liela ātrdarbība. No interpretatoriem - Perl, kuru esmu izmantojis web aplikācijām un arī dažādām komandrindas utilītām (pārsvarā teksta failu apstrādei, konvertācijai).

Link to comment
Share on other sites

MarisO - ar to es domāju - cik no tām aplikācijām, kas uztaisītas Java, patiesi arī lieto uz vairākām platformām? Serveru aplikācijas parasti lieto tikai uz vienas platformas. Jā, protams - ir jau tādas aplikācijas (piem. tas pats Azureus), kuras izmanto uz vairākām platformām - bet tās ir stiprā mazākumā. Plus, katrai platformai enīvei ir savi niķi un stiķi, kā rezultātā tomēr aplikācijām nākas taisīt vēl papildus kodu katrai no tām.

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...