Archyvas

Įrašai, pažymėti ‘geriausia programavimo kalba’

C# nori būti panašus į Php :D

2010.04.22 Xamas Komentarų: 5

Taigi, mano MS Visual Studio naujausias Heading’as “Get ready for C# 4.0″. Tai aš ir atsidarau. O atsidaręs matau… :D … matau, kad C# dar improvement’us, kuris Php turi seniausias.

Taigi didžioji C# naujiena ‘dynamic‘ keyword’as, kurio paskirtis nusakyta šia eilute:

“Now you can create dynamic objects and let their types be determined at run time.”

T.y., kad nebereikės aprašinėt kintamųjų tipo, o jų tipas bus nustatytas kompilavimo metu.

Pavyzdys kodo(C#):

dynamic info = new ExpandoObject();
info.a = "Noriu";
info.b = 10;
info.c = 'k';
info.d = 'a';
info.e = 'i';
info.viskaMoku = true;

Pavyzdys kodo Php:
<?php
$a = "Noriu";
$b = 10;
$c = 'k';
$d = 'a';
$e = 'i';
$viska_moku = true;
?>

————-

Antrasis dalykas, apie kurį aš svajojau 100 metų nors vienoje kitoje kalboje. Ir ‘at last’, MS atėjo į protą – tai galimybė deklaruoti default parametrų reikšmes, t.y. tai ką Php turi jau aibę metų:

Kodo pavyzdys(C#):
public static void masina(int ratuSkaicius = 4, bool galiVaziuoti=true) { }
Kvietimai:
autoparkas.masina();
autoparkas.masina(3);

Kodo pavyzdys(PHP):
static function masina($ratu_skaicius = 4, $gali_vaziuoti=true) { }
Kvietimai:
$autoparkas::masina();
$autoparkas::masina(3);

—————–

Manau niekam nebekyla minčių atsakinėjant į klausimą – “What is the best programming language” bei ‘kas nuo ko rippina’ :D .
Beje, galbūt yra nežinojusių, tai pasakysiu - ”pats C# kompiliatorius parašytas su C++”.
Ko man dar trūksta C# kalboje:
1.Neapibrėžiamų tipų metodų, t.y. kad kompiliavimo metu būtų nustatomas koks yra gražinamo atsakymo iš metodo tipas, ir ar išvis jis yra. T.y. tai ką php turi jau 100 metų.
2.By default integruotų labai puikių Php funkcijų, pvz. in_array(), dechex(), hexdec(),decoct(),octdec(). Dabar esu pasidaręs atskirą libą C#, kad šitas dauguma php funkcijų veiktų, bet toks dalykas turėtų būti integruotas C# kalboje pagal nutylėjimą.
3.Build-in variable’ų, t.y. tai ką turi Php:
$petras = “abc“;
$petras_55 = “def“;
$tomas = ${$petras.”_55};
echo $tomas; // def

4.Php funkcijų – print_r(), var_dump().

Trumpai nupasakokime dabartinę situaciją:

Assembler – mov hujAX,dafigznaetkudaQX;
Pascal - is it (NOT)(STILL)(COULD BE) a programming language???
Java – Am I dead? Oh… it’s just a lagggggggg.
C# – my intention is to be a php.
Php – why the hell I’m so perfect and everybody rips me?
Python – “Get set! Ready! Fire in the hole!”
Logo – Left, Left, Right, Right, Right, Towards, Bump! Ouch! :D

—-

Got it? :D