Archyvas

Įrašai, pažymėti ‘JavaScript’

Microsoft nori išlaikyti C# ir VB tolimesnį kūrimą lygiagrečiai

2010.03.25 Xamas Komentarų: 0

Gana keistų minčių teko pasiskaityti iš C# vieno iš kūrėjų, bei dabartinio ’.NET product unit manager’. Kas keisčiausia, kad jis visas -.NET kalbas (VB, C#, F#, IronPython, IronRuby) vertina lygiavertiškai, ir planuoja, nepaisant to ar C# VS VB bus 50:50 ar 70:30 santykiu, visas naujas funkcijas, kaip supratau, nori kurti lygiagrečiai VB.

Aš asmeniškai apskritai nesuprantu, kokia reali prasmė tobulinti Visual Basic’ą, kuris kaip pamenu, dar 2002 pačio microsoft buvo paskelbta kaip ‘retiring‘ ir apskritai, kodėl nauji žmonės išvis turėtų domėtis Visual Basic’u. Asmeniškai neketinu parašyti nė eilutes Visual Basic’u(kurio aišku ir nemoku, ir mokytis neketinu). Sakyčiau greičiausiai čia būtų tu 30-50 metų JAV programerių, kurių JAV firmose yra begalės, ir kurie visiškai nepripažysta ‘outdated’ dalykų.

Beje, girdėjote apie Php hip-hop? Ne, tai nieko bendro su muzika neturi, na bet tiek kurie yra labai labai labai advanced programeriai php srityje, supranta apie ką aš :) . Remiantis hip-hop’u, visas C# ir Python lieka toli gale :) )). Panašu kad iš Php ir Zend pusės dar yra stiprių galimybių pasistūmėti į prieki.

Dar vienas dalykas – ar jau bandėt opera 10.51. Asmenškai esu apakęs – taip greit vykdomo JS kodo neteiko matyti. Mano 400-800 eilučių DHMTL parserius, ir objektų perkūrimais(new(), remove() [hate of IE6,7] kupino JS kodo vykdymas stulbinantis – IE ir Firefox lieka smarkiai gale. Opera NETIK kad VISIŠKAI neapkrauna CPU su parseriu, bet vykdo tarsi tai būtų ‘native application’, t.y. zero-load time’as :) … Didelis pliusas ir pagarba už tai, į operos pusę… Ir ahh, CSS 3.0 ir opera 10.5 tiesiog idealiai dera kartu… Na bet viską css 3.0 serijoje į vietą turėtų pastatyti IE9, kurio pasirodymas jau visai ne už kalnų(ar jau turite developers IE9 versiją – nelaimei, tik W6/W7, apie W5 MS nuomonė jau seniai aiški(nelaimei, ji nesutampa su mano nuomone apie W5) – kiek žinau sheduled ie realease yra 2011 Q1. Tik neaišku final, official ar pre-release.

Apie indų programerius dirbančius už 2 baksus per valandą

2009.11.16 Xamas Komentarų: 4

Kadangi turbūt niekam nepaslaptis, kad turiu polinkį į Php, ir visos kitose programavimo kalbose(funkcinėse, objektinėse, skriptinėse) stengiuosi emuliuoti Php galimybes (C++’e nesugebu apsieti be explode();),

tai šiandien negalėjau apsiieiti be dar vienos labai šaunios Php funkcijos – tai print_r();. Jos esmė ta, kad priešingai nei kitų prog. kalbų kurėjai, kurie neturi kažko panašaus į print_r(), print_r nuosekliai išprintina n’tai masyvo, objektų sarašo visus elementus rekursiškai – užtenka paduoti seką į parametrus :) .

Taigi šios idėjos vedamas, susiradau alternatyvą print_r(); bene populiariausiai skriptine kalbai – javascript.

Po to kai programa į downtime’ą keletui minučių pasiuntė visą dedikuotą servą, atsidaręs skripto autoriaus puslapį kažkodėl nenustebau – Bandula Binny Bandulay iš Indijos :) . Nebūtų non-sense’as, jeigu ne faktas – kad šito Binny’io source kodas yra pirmoje pozicijoje Google :D DD.

/**
* Function : dump()
* Arguments: The data - array,hash(associative array),object
*    The level - OPTIONAL
* Returns  : The textual representation of the array.
* This function was inspired by the print_r function of PHP.
* This will accept some data as the argument and return a
* text that will be a more readable version of the
* array/hash/object that is given.
*/
function dump(arr,level) {
 var dumped_text = "";
 if(!level) level = 0;
//The padding given at the beginning of the line.
 var level_padding = "";
 for(var j=0;j<level+1;j++) level_padding += "    ";
if(typeof(arr) == 'object') { //Array/Hashes/Objects
  for(var item in arr) {
   var value = arr[item];
  
   if(typeof(value) == 'object') { //If it is an array,
    dumped_text += level_padding + "'" + item + "' ...\n";
    dumped_text += dump(value,level+1);
   } else {
    dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
   }
  }
 } else { //Stings/Chars/Numbers etc.
  dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
 }
 return dumped_text;
}

Norint užlenkti visą sistemą užteko ją pabandyt :D :

alert(dump(document.getElementById("xc_obj").childNodes));

Moralas tas – jeigu jau dedi sūrsą, kuris gūglėj bus pirmoj pozicijoj, bent jau jį patikrink.

Nes jeigu tokie pat išminčiai būtų rašę kokį TinyMCE, ar PhpExcel, tai beieškodamas klaidų ir užmiršti kam tau to skripto reikėjo, būtų galima…

(dalyje plačiau – įmečiau pilnai gerai veikiantį kodą).

Skaityti toliau

Java, C++, C#, Php, Pascal redaktoriai ir kompiliatoriai

2009.09.12 Xamas Komentarų: 2

Pamaniau, pasidalinsiu mintimis ir atradimais, padarytus per tuos studijų ir iki studijinius metus.

Yra daugybė programavimo kalbų ir daugybė jų redaktorių.

Šiaip dažnai esu gana alergiškas ‘viskas viename’, bei ‘milžiniškos apimties’ programoms. Todėl renkuosi alternatyvas.

Šį kartą skip’insime, terminal’ą, ir Kubuntu, Linux 5 ir pan. pingvinus, nes visgi namuose dirbu XP langais(Windows XP SP2)

Taigi nuosekliai:

Pascal(programavimo kalba nuo kurios mane pykina).

Kompiliatorius: Free Pascal

Redaktorius(Source): Free Pascal (LT versija)

Beje LT versija yra tikrai puikiai paruošta, ir EN varianto tikrai nereikia

Alternatyvos: Senutėlis Turbo Pascal, ir dar keletas nereikšmingų

C/C++ :

Unversitete ir pan. bandys siūlyti visad matyt “Dev C++” programą, kuri mano nuomone po mėnesio darbo ja, yra tikras nieko vertas šlamštas. Ja nebent ‘makefile’ patogiau pasiredaguoti, t.y. dalyką kuris taip pat yra atgyvena(turiu omeny redagavimą pačiam)

Na arba iškart bus siūlomas maksimalizmas – Microsoft Visual Studio. 5 GB instaliuotas gigantas.

Aš asmeniškai pasirinkau: Code::Blocks (CodeBlocks) . Ši programa nėra didelė – užima vos ~100MB, tačiau tikrai yra tas ko bent jau man ir reikia. Ir tvarkinga, ir funkcionalu, ir kur kas geriau/patogiau už “Dev C++”, bei nėra tokia griozdiškai kaip Visual Studio. Be to jos kompiliatorių ir derinimo terpė labai interaktyvi, taip kad galima sakyti jog galima pasirinkti beveik bet ką.

Code::Blocks yra ir kompiliatorius ir puikus redaktorius.

C# (Microsoft’o Java arba ‘užturbintas’ Pascal’is):

Nesu didelis šios kalbos mėgėjas, bet čia be abejonės lyderis yra M$ tools’as “Microsoft Visual Studio”.

Java:

Pagrindiniai įrankiai: NetBeans, JBuilder bei Eclipse. Kol kas labiausiai sužavėjęs yra “NetBeans”, jeigu tiksliau, tai “JDK with NetBeans IDE Java SE bundle” (JDK – Java Developer Kit). Beje JDK įmanoma atsisiųsti tik iš Sun tinklapio :D . Download’as pilnos Java yra ~135MB, o instaliuota ~430MB, kas gal ir nėra labai mažai, bet programa tikrai gana puikiai susitvarko su mano poreikiais.

Php grupė(HTML, CSS, Php, JavaScript,MySQL DB):

Mano mėgstamiausia :) . Redaktorius Php sąsajai be abejonės Notepad++. Gana aiškus lyderis šioje srityje. Nors teoriškai galima būtų užleisti ir kompiliatorių, bet tai nėra prasminga.

Kompiliatorius šiuo atveju yra – serveris kompiuteryje EasyPhp . Turi puikią lietuvybę ir yra labai paprastas naudoti. Tai tarsi patobulintas WAMP atskirų dalių serverio instaliacijos procesas.

 

———

O dabar trumpai:

  • Pascal redaktorius: Free Pascal (LT)
  • Pascal kompiliatorius: Free Pascal (LT)

 

  • C++ redaktorius: CodeBlocks (Code::Blocks)
  • C++ kompiliatorius: CodeBlocks (Code::Blocks)

 

  • Java redaktorius: NetBeans
  • Java kompiliatorius: JKD with NetBeans

 

  • C# redaktorius: Microsoft Visual Studio
  • C# kompiliatorius: Microsoft Visual Studio

 

  • Php redaktorius(+CSS, JavaScript,HTML,MySQL DB): Notepad++
  • Php kompiliatorius: EasyPhp (LT)