2007-10-22

Akcja jest taka, nowa. Poprzednia była żeby wysmarować pięć rzeczy o sobie - głupia i ją zlałem.
Teraz jest fajna - języki programowania:
C++
+ Obiektowy, przeciążanie operatorów, biblioteka standardowa, template. A, i zarabiam nim na życie :>.
- Rzeczy in plus nie są wszędzie, ręczne czyszczenie pamięci, jak się zapomni robi się smutno. Redukuje się czasem do C z klasami.
Java
+ Pisze się zajebiście szybko, ale potrzeba IDE, nie trzeba się pałować z pamięcią, jak się wypierdala, to w 99.99% kulturalnie.
- Bez IDE ani przystąp, koszmarnie przegadany język, prymitywy z autoboxingiem potrafią przypierdolić po nerach, ogólnie prymitywy mogłyby już wylecieć, wtedy wszystko byłoby obiektem, przeciążanie operatorów też mogłoby być, a nie jest dla usera (ale + ma 3 wersje :>). I chlastające operowanie na stringach.
Perl
+ Zajebisty język, weapon of choice. W każdej robocie mi się przydał, i w magisterce.
- Można w nim napisać rzeczy, których nie rozumiem. Sam mogę takie rzeczy napisać. I napisanie modułu jest upierdliwe.
PHP
+ Jest wszędzie. W sumie coś jak miliardy much.
-- Niesamowicie niski próg wejścia powoduje, że do krapowatości języka dochodzi ogólny syf kodu produkowanego przez wannabe programistów PHP. Język nie wyróżnia się niczym szczególnym, ale ma perełki - na przykład operator ?:. Rzeczy które poprzednio zrobiłbym w PHP teraz w robocie napisałem w Perl + CGI, bo mi się nie chciało doinstalowaywać.
JavaScript
+ Takie małe chujumuju do robienia różnych rzeczy pod przeglądarkami.
- Każda przeglądarka ma swoje zdanie na temat jego standardu. Zmienne są zdradzieckie.
C
+ Jest prawie na wszystko, i jest taki sam.
- Tak samo masakryczny, brakuje stuffu z C++.
Pascal
+ Eeeeee
- W Pascalu nie da się napisać funkcji z Pascala. Miało być tak pięknie, a wyszło jak zwykle. Przegadana składnia.
ADA + Język zrobiony na zamówienie Department of Defense. To daje niejaką perspektywę zatrudnienia.
- Wzorowany na Pascalu - ślepa uliczka rozwoju składni języków programowania.
Prolog
+ Fajny do pewnych zastosowań.
- Ale trzeba se mózg wywrócić na lewą stronę.
SML
+ Fajny do pewnych zastosowań, zmienia spojrzenie na programowanie przez nauczenie się paradygmatu funkcyjnego/funkcjonalnego, zależnie jak to zwał.
- Mało kto używa, taka ciekawostka, mózg można tylko przeklepać, nie trzeba nicować.
plPgSQL
+ Język programowania z PostgreSQLa, podobny do Oraklowego pgSQL, daje niejakie perspektywy zatrudnienia.
- Kuzyn ADY.
Pike
+ Tu nie ma jeszcze bardziej niż w przypadku Pascala.
- Kod w Pike wygląda tak, jakby ktoś wydrukował kod w C++, obsikał listing i otrzepał, oto Pike. Niszowy pomiot który robi to samo co Perl albo Pythong albo Ruby, tylko inaczej, bo koledzy wyczerpali możliwości.
Python (w tym to zrobiłem całe kilka linijek)
+ Fanatycy go lubią, znaczy się ma duże user base, czyli ma dużo ewangelistów, czyli jest się kogo pytać, jak trzeba w nim rzeźbić. Podobno ma więcej bibliotek niż Perl. I chyba łatwiej się pisze do niego moduły w C niż do Perla.
- Wcięciami się go formatuje, nie da się napisać onelinera, bo się formatuje wcięciami, jak tak można?

Etykiety:

9 Comments:

Anonymous Anonimowy said...

odnośnie Javy:
perspektywy znalezienia pracy ogromne !
Nie z gadzam sie z chlastaniem operacjami na stringach bo te sa wyjatkowo łatwe.

A i dodałbym że bibliotek i frameworków jest chyba najwięcej i user base też ogromna.

9:01 AM  
Anonymous Anonimowy said...

"Język nie wyróżnia się niczym szczególnym, ale ma perełki - na przykład operator ?:"

C, C++ też ma.

3:05 PM  
Blogger kiloindia said...

Odnośnie Javy - w temacie operacji na Stringach to jak ostatnio sprawdzałem (10 minut temu na 1.6.03) operator + robi z:
a = a + "b";
coś takiego:
a = (new StringBuilder(String.valueOf(a))).append("b").toString();
Ale są optymalizacje - plusy w wyrażeniu zamienia na append().
Weźmy teraz spory procent tego wielkiego userbase, i okaże się, że ci inteligenci piszą:
a = a + b;
a = a + " ";
a = a + c;

A potem neofici Javy dziwią się, co z tym performance i o co tyle krzyku.
Światła rada użycia od razu StringBuildera/Buffera: krócej się pisze << niż append().

Operator ?: - tak, C ma, C++ ma, Java ma, Perl ma. Tylko że w PHP działa leciuteńko inaczej, tak tyci tyci inaczej. Beczka śmiechu po prostu.

10:08 PM  
Anonymous Anonimowy said...

Jest jeszcze Ruby :)
Spora część składni z Perla działa (prawie wszystkie $...) i da się to przeczytać/zrozumieć po roku.
Jednolinijkowce też ładne wychodzą Np:
irb(main):005:0> File.open('/etc/passwd').readlines.grep(/^root/)[0].split(":")[-1].strip
=> "/bin/bash"
irb(main):006:0>

7:45 AM  
Blogger kiloindia said...

W Rugbym nie pisałem prawie niczego, tam są te, w których robiłem cokolwiek.

10:27 PM  
Anonymous Anonimowy said...

Co do C++: "ręczne czyszczenie pamięci" jest tylko na własne życzenie.

Polecam lekturę podstawową: http://www.research.att.com/~bs/bs_faq2.html#memory-leaks

A również rozszerzoną: http://relisoft.com/book/tech/5resource.html

Co do pythona: zamiast onelinerów są prawdziwe lambdy - bardzo wygodne. Ale składnia jest dziwna dla ludzi spoza C/C++/Java/JavaScript (nie chodzi o formatowanie białymi znakami, tylko te dwukropki, operatory,. brak nawiasów tu i ówdzie itp itd).

8:25 AM  
Blogger kiloindia said...

Znowu: w C++ zakładając, że mamy całe C++, a nie C z klasami: Rzeczy in plus nie są wszędzie.

8:02 PM  
Blogger Postrach Szyszek said...

a c# ?? ;)

1:02 PM  
Blogger kiloindia said...

Jakbym cokolwiek w tym napisał to bym skomentował.
Na dziś moje zdanie jest takie, że jak M$ przegrał proces z Sunem o stosowanie nazwy Java to nazwał to cudo C# i tyle.
I teraz pracuję na Visualu i widzę próby zawłaszczenia nazwy C++ na zupełnie inny język, ale na szczęście pracuję w takim tradycyjnym C++.

8:36 PM  

Prześlij komentarz

<< Home