Mobili versija | Apie | Visos naujienos | RSS | Kontaktai
 
Vartotojo vardas:
Slaptažodis:
Atsiminti
Login with a social network:

Jūsų požiūris

Aktyvios diskusijos

Ieškoti forume


Išsami paieška

 [ 30 pranešimai(ų) ]  Eiti į Ankstesnis  1, 2
 
Naujos temos kūrimas Atsakyti į temą Pagrindinis diskusijų puslapis » Technologijos » Informacinės technologijos
Žinutė Autorius
  Standartinė   Parašytas: 2013-06-15, 09:46 
     
Greiveris rašė:
Nu manau c++ tikrai nėra "barokiška", paprastų programų, ar žaidimų kūrimui tikras auksas. Užknisa, tas, kad kūrėjas nepritaikė objiektinio programavimo langų, mygtukų kurime... Paliko tą akmens amžiaus winapi su visais HWND hInstance ir t.t

Natūraliai C++ kalboje negali būti jokių langų, nes kalba turi tikti skirtingoms OS. Tad kalba turėtų eiti ne apie pačią C++, o apie jos naudojamas bibliotekas.

WinAPI yra žemo lygio Windows sistemos interfeisas, o ne C++ kalbos dalis. Jis negali būti objektinis, nes tada netiktų neobjektinėms kalboms, tokioms kaip C. Antra vertus, naudoti WinAPI nėra jokio reikalo, nes MS turi padaręs biblioteką MFC; taip pat tu gali programuoti C++.NET, ir galėsi naudotis į sveikatą visa .NET biblioteka.
  • 0




Užsiregistravo: 2008-09-19, 22:34
Pranešimai: 2083
Miestas: Vilnius
Reputacija: +474
   
 
Į viršų
  Standartinė   Parašytas: 2013-06-15, 10:53 
     
O gal žinot kokių gerų bibliotekų, ar header'ių kurti winProgramoms. Visual c++ yra mokamas, tai gal yra kažkas ką galima įkišt į devc++. Irškyrus wxWidgets, labai nepatiko, nes susigadino ir nėjo nieko kompiliuot?
  • 0




Užsiregistravo: 2012-06-18, 13:34
Pranešimai: 37
Reputacija: 0
   
 
Į viršų
  Standartinė   Parašytas: 2013-06-15, 11:07 
     
KeeperMustDie rašė:
Klausimas visiškai ne į temą: kodėl ne TypeScript? (Šiaip įdomu, nesikabinėju prie sprendimo)

Todėl, kad visai kitokie reikalavimai.

1. Reikia, kad veiktų naršyklėje (bei Node ir Rhino) be papildomo kompiliavimo;
2. ...todėl aktualus failo dydis ir sparta - vienu peržiūrėjimu turi susigeneruoti validžios EcmaScript funkcijos;
3. Turi nebūti jokių priklausomybių nuo išorinių bibliotekų;
4. Mane pilnai tenkina JS objektinis prototipų modelis; reikia tik sintaktinio cukriuko (kuris, savaime suprantama, griežtai nesikompiliuotų su JS) asinchroniniam programavimui, futures, promises, lambdas, continuations, tail recursion, DI bei parametrų validacijos/konversijos pagal duotas web servisų specifikacijas;
5. Visi nauji operatoriai išsiverčia į validų EcmaScript paprasčiausiu search/replace. Nekonvertuojami fragmentai patys yra validus ES (iš principo, galėtų - realiai generuoju event-based AST: JS labai bjauri kalba su daugybe išimčių, kartais išraiškos tipą apibrėžia paskutiniai simboliai ir t.t. - RegExp'ai užsikastų).

TypeScript niekaip netinka. Coffee, Haxe, Dart irgi ne į temą: išradinėju ne visiškai naują kalbą, o papildomus sintaksės trumpinius dažnai naudojamam "boilerplate" kodui.

Pvz. when( function(){ a;b;return c; } ).then( [ function(c){c.d = d(c); return e(c);}, function(c){return f(c)}] ).then( function(e,f)...)...

užsirašo daugmaž:

λ{a;b;c;}->
[c=>{λc.d<=d(c);e(c)};
c=>λ(f)] ->
{...}.

Šitas pavyzdys - labai sintetinis, todėl gal atrodo sudėtingas ir nelogiškas. Reiktų pamatyti, kaip atrodo AJAX kodas: kuomet vienų užklausų rezultatai yra kitų užklausų parametrai, kai lygiagrečiai vyksta keli skaičiavimai ir vaizdavimai ir t.t..
  • 0




Užsiregistravo: 2008-10-12, 05:22
Pranešimai: 6402
Miestas: ☀️☁️☂️☁️☀️
Reputacija: +404
   
 
Į viršų
  Standartinė   Parašytas: 2013-06-16, 08:30 
     
Cituoti:
Ar padarėte tokią klaidą? Nesužinosite, kol nepavesite kompiuteriui kompiliuoti ir vykdyti kodo. Bet kompiliatorius negali pasakyti ar kodas veikia, kol neparašėte visos programos.
Na jei tik parašęs tūkstantį eilučių pradėsi kompiliuoti tai toks tu ir programuotojas...
Klaidų tikrinimas prasideda nuo kiekvienos parašytos naujos eilutės. O parašius tūkstančius eilučių tokių klaidų kaip nepadėtas kablelis ar neuždarytas skliaustelis nebūna, gali atsirasti kitos loginės klaidos kaip antai amžinieji ciklai, neracionalus pc resursų naudojimas, netikslus skaičiavimas ar kitos loginės klaidos.
  • 0




Užsiregistravo: 2009-05-29, 09:06
Pranešimai: 1712
Reputacija: +1
   
 
Į viršų
  Standartinė   Parašytas: 2013-06-16, 13:31 
     
sielinai - taip, straipsnio autoriai (ar vertėjai) galingai nusišnekėjo. Kompiliatoriai čia ne prie ko - geros IDE neteisingos sintaksės klaidas ar abejotiną sintaksę if(a=true) bei supainiotus kintamųjų vardus parodo dar iki kompiliavimo, iškart rašant. Daugumą žioplų ar refaktoringo klaidų gali išgaudyti aktyviai testuodamas izoliuotus blokus.

Bet čia eina kalba apie klaidas, kurių neišgaudys joks kompiliatorius. Abejotina sintaksė (Javascripte gali parašyti objekto inicializatorių "{a=1,b=2}", kuris tam tikrame kontekste bus suinterpretuotas kaip validus kodas "var a=1; var b=2;" arba C++ tuščias ciklas "while(a<1); a++;"), supainioti kintamųjų vardai, netyčinės duomenų modifikacijos, miręs kodas, išimtinės situacijos nepatikrinimas, netyčinė inicializacija, įhardkodintos reikšmės, netikri invariantai, OS niuansai, konkurenciškumo bėdos...

Neteisingas (ir labai aktyviai naudojamas) kodas gali sėdėti metų metus. Jis gal duos klaidingus rezultatus vieną kartą iš trilijono, o sistema mistiškai lūžinės gal kartą per metus, bet būtinai pačiu netinkamiausiu momentu, ir niekam nešaus į galvą apkaltinti tiek ištestuotą, tiek visiems iki skausmo žinomą ir dar dešimtyje projektų nukopijuotą eilutę. Kažkas padarys "workaroundą" visai ne ten - kad sistema nelūžinėtų. Kitaip tariant, įvels dar vieną nekorektišką logiką iki tol teisingame kode, kurios niekas nesupras, kada ji suveikia ir kada - ne.

Šiaip tai teisybė straipsnyje, kad turėti 1 bugą 50-tyje eilučių - geras rezultatas. Reviewindamas kitų programerių kodą, klaidų randu kur kas dažniau, ir galima įsivaizduoti, kad dar tiek pat pražiūriu.

Laimė, kad tokios klaidos - slapukės retai lemia tikrai tragiškus rezultatus (t.y. suskaičiuoja kritines vertes su astronomine paklaida), kaip tos raketos atveju, o tais retais atvejais dažniausiai iškart aišku, iš kur jos lenda. Raketos atveju - nesusikalbėjus amerikiečiams ir europiečiams dėl matavimo vienetų. Akcijų biržos atveju - sistemos autoriai, sukūrę agresyvaus kainos mušimo strategiją, nepagalvojo, kad ją naudos ir kas nors kitas, o sistemos susipjaus kartodamos viena kitos sprendimus, kol užlinks visa birža. Abi klaidos lengvai išsisprendė, įvedus tam tikrus "protingumo kriterijus", signalizuojančius apie absurdišką situaciją, kokios priežastys ją bebūtų sukėlusios.
  • 0




Užsiregistravo: 2008-10-12, 05:22
Pranešimai: 6402
Miestas: ☀️☁️☂️☁️☀️
Reputacija: +404
   
 
Į viršų
Rodyti paskutinius pranešimus:
Rūšiuoti pagal
 


Naujos temos kūrimas Atsakyti į temą  [ 30 pranešimai(ų) ]  Eiti į Ankstesnis  1, 2

Visos datos yra UTC + 2 valandos [ DST ]


Dabar prisijungę

Vartotojai naršantys šį forumą: Registruotų vartotojų nėra ir 0 svečių


Jūs negalite kurti naujų temų šiame forume
Jūs negalite atsakinėti į temas šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite trinti savo pranešimų šiame forume
 

Ieškoti:
Pereiti į:
 
 

Reputation System ©'