Najbardziej nielubiane języki programowania

0

Dla mnie Bash jest okropny. A czy powstał już jakiś kompilowany język programowania, który nie ma wskaźników i ma automatyczne odśmiecanie pamięci jak C#, Java, Kotlin? Rust też nie spełnia wymogów prostoty i wygody.

1
Wibowit napisał(a):

No dobra, to niech ktoś napisze czy różnił się C# 1.0 od Javy 1.4

Prościej wymienić to, co było wspólne: klamerki, pętle, instrukcje warunkowe, słowa kluczowe w rodzaju: int, char, string, typ object z metodami ToString i GetHashCode, i to chyba wszystko. Strasznie mało jak na klona, zwłaszcza, że poza ostatnią wszystkie te rzeczy Java skopiowała z C++.

1
somekind napisał(a):

Prościej wymienić to, co było wspólne: klamerki, pętle, instrukcje warunkowe, słowa kluczowe w rodzaju: int, char, string, typ object z metodami ToString i GetHashCode, i to chyba wszystko. Strasznie mało jak na klona, zwłaszcza, że poza ostatnią wszystkie te rzeczy Java skopiowała z C++.

Jak dla mnie najważniejsze to wykorzystanie maszyny wirtualnej (przy okazji: Java też tego "nie wymyśliła").

1

Jeśli dla kogoś nazwy metod czy cukier składniowy są ważniejsze niż paradygmat programowania to będzie znajdował podobieństwa i różnice w dziwnych miejscach. Dla mnie różnica między Javą, a C# wygląda mniej więcej tak jak przedstawiona w satyrycznym artykule http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html :

1996 - James Gosling invents Java. Java is a relatively verbose, garbage collected, class based, statically typed, single dispatch, object oriented language with single implementation inheritance and multiple interface inheritance. Sun loudly heralds Java's novelty.

2001 - Anders Hejlsberg invents C#. C# is a relatively verbose, garbage collected, class based, statically typed, single dispatch, object oriented language with single implementation inheritance and multiple interface inheritance. Microsoft loudly heralds C#'s novelty.

Mimo, że artykuł jest satyryczny to akurat w tych dwóch pozycjach jest dużo prawdy. Java i C# to jedyne popularne języki o wymienionych cechach. Te cechy z kolei pociągają za sobą dużo większe skutki niż inny rodzaj klamerek, krótszy zapis propertiesów, czy obecność typów unsigned. Do ważnych cech dorzuciłbym jeszcze refleksję i wzbogacanie bajtkodu.

A poza tym to tylko tracę czas na takie filozofowanie. I tak piszę w Scali, a ta działa tylko pod Javą :P

0

No cóż, nie sposób obalić takiego argumentu. W końcu dla każdej dowolnej pary języków da się znaleźć taki podzbiór ich cech, aby uznać je za identyczne.

0

No. Można też na siłę szukać różnic. Myślę jednak, że zgrubne uszeregowanie kilkunastu cech języków według ich wpływu na sposób programowania nie jest jakimś heroicznym wysiłkiem. Te rzeczy, które wprowadził C# 1.0 (w stosunku do Javy 1.4) miały marginalny wpływ na cokolwiek.

0

A który jest najnowszy język programowania na JVM, chyba ta Scala i zarazem najtrudniejsza? Kotlin, Ceylon, Clojure, Groovy tylko tyle znam, no i jRuby, Jython.

1
Wibowit napisał(a):

No. Można też na siłę szukać różnic.

Nie trzeba niczego na siłę szukać, bo te różnice faktycznie istnieją. Istnieją też podobieństwa, ale Ty nie o nie przecież pytałeś.

Te rzeczy, które wprowadził C# 1.0 (w stosunku do Javy 1.4) miały marginalny wpływ na cokolwiek.

Po prostu pozwalały realizować wymagania, dla których C# 1.0 powstał.

0

Operatory i struktury to nie są różnice na siłę. To są różnice fundamentalne.
Różnicą „na siłę” to może być System.out.println vs System.Console.WriteLine.

1

"Cukier składniowy" to taki termin-wytrych. Ziarnko do ziarnka... Ostatecznie każdy język programowania jest tylko pewnego rodzaju zasobem "cukru składniowego" ponad zerami i jedynkami :)

I oczywiście, że C# i Java są językami z obrębu tego samego "paradygmatu", jak i zbliżonej domeny. To jest warunek wyjściowy, by porównywanie mogło mieć jakikolwiek sens w ogóle. Przecież nikt o zdrowych zmysłach nie będzie porównywał C z Prologiem ani Lispa z VB :)

0
V-2 napisał(a):

Ostatecznie każdy język programowania jest tylko pewnego rodzaju zasobem "cukru składniowego" ponad zerami i jedynkami :)

Moim zdaniem nie tylko. W skład języków wchodzą jeszcze białka semantyczne i tłuszcze pragmatyczne. ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1