Najbardziej nielubiane języki programowania

Najbardziej nielubiane języki programowania
Najbardziej nielubiane języki programowania na 4programmers (* możesz oddać maksymalnie 5 głosów)
bash
9%
9% [24]
c
1%
1% [4]
c#
4%
4% [10]
c++
6%
6% [17]
clojure
0%
0% [0]
coffeescript
4%
4% [10]
delphi
3%
3% [8]
erlang
0%
0% [1]
f#
0%
0% [1]
go
1%
1% [2]
groovy
0%
0% [1]
haskell
0%
0% [0]
java
9%
9% [26]
javascript
14%
14% [40]
kotlin
1%
1% [3]
lua
1%
1% [3]
matlab
2%
2% [6]
objective-c
1%
1% [3]
perl
5%
5% [13]
php
18%
18% [50]
python
4%
4% [10]
r
2%
2% [5]
ruby
1%
1% [4]
rust
0%
0% [0]
scala
0%
0% [0]
swift
1%
1% [4]
typescript
0%
0% [1]
vba
11%
11% [30]
inny
1%
1% [3]

Ankieta wygasła

0

A najbardziej lubiany język programowania na stackover jest teraz Rust. Tylko czekać aż powstanie w nim nowy Unix :)

hauleth
Już powstają 2 OSy: Redox i TickOS.
BU
  • Rejestracja:około 10 lat
  • Ostatnio:10 dni
  • Postów:422
0

Nie lubię języka STL dla sterownikow PLC firmy Siemens. Analizowałem taki kod w byłej pracy przez kilka lat i wtedy podobało mi się to, że radzę sobie z jego rozumieniem dużo lepiej niż inni, tak samo jak np. na studiach lubiłem Assemblera, programowanie na maszynę Turinga, albo lubiłem napisać coś ciekawego w Brainfuck. Teraz czuję do tego lekkie obrzydzenie i myślę, że w poważnych zawodach nie powinno się sprawiać, że praca jest dużo bardziej skomplikowana, niż mogłaby być w normalnych warunkach, bo komuś tak się po prostu podoba. Środowisko projektowe umożliwia łatwe wyszukiwanie odnośników do zmiennych w kodzie, ale gdy ambitny programista postanowił korzystać z potęgi wskaźników, to robiła się sraka.

Przykład:

Kopiuj
L	P#0.7	 			//Load ACCU1 with pointer value
T	MD	2				//Transfer pointer into MD2
A	I [MD 2]			//Check state of I0.7
=	M [MD 2]			//Assign value of RLO to M0.7
 	 	 
OPN	DB	5				//Open DB5
L	P#2.0				//Load pointer into ACCU1
T	#TempPointer		//Transfer pointer to temp location
L	DBW [#TempPointer]	//Load the value at DB5.DBW2 into ACCU1
L	0					//Load a zero into ACCU1
>D	 					//Check if the value is greater than zero
0

Czemu w ankiecie nie ma Delphi? To z pewnością najgorszy język albo jeden z najgorszych - ObjectPascal

vpiotr
Pewnie dlatego że Delphi to nie język.
flowCRANE
Jest to również nazwa języka. Może nieoczywiste, ale zgadza się.
vpiotr
Zdania są podzielone. "Delphi uses the Pascal-based programming language called Object Pascal introduced by Borland, and compiles Delphi source code into native x86 code." (Wikipedia). Na tej samej stronie "It's also an event driven language.". W Delphi 1 na pewno nazywano to Object Pascal.
vpiotr
Później być może nieformalnie przyjęło się mówić "Delphi" na język. Ok. 2004 r. nazywają już to Delphi language
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 9 godzin
  • Lokalizacja:Tuchów
  • Postów:12164
1
Biały Lew napisał(a):

Czemu w ankiecie nie ma Delphi?

No jak nie ma jak jest – od momentu powstania wątku. Autor posortował nazwy języków/technologii alfabetycznie, a ty nawet w takiej sytuacji nie potrafisz znaleźć tej informacji.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
DU
Po przeczytaniu "Moderator Delphi/Pascal" domyślam się, że masz zły humor, patrząc na kilka ostatnich wpisów w tym temacie :D
flowCRANE
@dualjack: nie, wręcz przeciwnie – bawią mnie wywody osób, których wypowiedzi skomentowałem. A najbardziej te, w których ktoś wmawia mi że używam Delphi. :D
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:3 dni
  • Lokalizacja:Wrocław
4
LukeJL napisał(a):

WTFy są, ale po kilku latach przestają ci przeszkadzać. Dowiadujesz się po prostu w pewnym momencie, że typeof null === 'object' i potem o tym pamiętasz.

No to trochę tak jakby zamieszkać w Indiach i powiedzieć, że sranie po polach i gwałty po paru latach przestają przeszkadzać. Mnie przyzwoitość i uczciwość nie pozwalają.
Kupa jest kupą nawet jeśli jest popularne, jest na to wiele przykładów w historii IT: IE, GG, Facebook...

I wydaje mi się, że łatwiej zapamiętać parę WTFów niż nazwy wszystkich klas z Javy.

Tyle, że nie trzeba pamiętać wszystkich klas z Javy, wystarczy te najważniejsze. A nawet jeśli się nie pamięta, to wystarczy sobie zacząć składać angielskie słowa opisujące, co chcemy osiągnąć i resztę IDE dopowie. WTFy trzeba pamiętać wszystkie, a także wszystkie komba jakie da się z nich skonstruować, bo inaczej czytać cudzego kodu ze zrozumieniem się nie da.

TestowyJanusz napisał(a):

Nie kumam czemu Java ma tak wysoką pozycję w rankingu, przecież większość jej wad została naprawiona.

Ciekawe w jaki sposób, skoro ciągle trzyma kompatybilność wsteczną. :P

LukeJL
Niby słuszne argumenty, ale w tej chwili nie ma lepszego rozwiązania niż JS jeśli chce się pisać frontend. Można pisać w TS, ale on będzie miał te same WTFy, co najwyżej więcej statycznej kontroli. Można pisać w którymś z hipsterskich języków typu Elm czy ClojureScript, ale one są na tyle hipsterskie, że nikt z nich nie korzysta. Były też próby kompilacji Javy, C++ czy innych języków do JSa, ale to jest i nisza i póki co nie przyjęło się na szerszą skalę (a popularność danego rozwiązania jest ważna, bo popularność = większa społeczność, więcej tutoriali, więcej narzędzi itp
LukeJL
więc i tak w JavaScript póki co pozostaje głównym narzędziem do programowania na frontendzie, może się to zmieni, bo WebAssembly itp. Ale moim zdaniem to będzie dopiero opłacalne wtedy jak będzie odpowiedni ekosystem i community, bo popularność jednak ma znaczenie. Co z tego, że jakiś język będzie lepszy, jeśli ciężko go będzie zintegrować z resztą? (bo niby już teraz jakby ktoś się uparł, to mógłby w dowolny języku pisać i kompilować do JSa - tylko byłoby to bawienie się w hipstera i hakowanie kompilatora).
LukeJL
Swoją drogą o ile ES5 był jeszcze dość ograniczony, to dla mnie ES6 i dalej już są całkiem okej, a nawet powoli zaczynam się obawiać, że już za dużo funkcji do niego wrzucają (JavaScript przed ES6 był minimalistycznym językiem, a teraz zaczyna się z niego robić "język, w którym wszystko jest". Żeby to przynajmniej było dobrze zaprojektowane, ale znowu - wydaje mi się, że ficzery z ES6 i dalej są i tak gorzej zaprojektowane niż ich odpowiedniki w innych językach). Tym niemniej ogólnie nie narzekam (Python niby lepszy jako język, ale jednak JS i frontend dostarcza więcej funu
somekind
No temu, że JS jest niezbędny i niezastąpiony to przeczył nie będę. To taka badziewna prowizorka, do której jesteśmy zmuszeni. (Tzn. ja na szczęście nie, ale nasz gatunek owszem.) A co do gorszej implementacji ficzerów w ES6 - wcale mnie to nie dziwi, ciężko dobrze zaprojektować nowy ficzer w języku, który nigdy zaprojektowany nie był.
gośćabc
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Szczecin
  • Postów:500
0

java, javascript i php, 2 ostatnie to nawet nie języki programowania
wynik znany bez głosowania
sam oddałem głos na wiadomo co

grzesiek51114
grzesiek51114
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 4 lata
  • Postów:2442
0

Kupa jest kupą nawet jeśli jest popularne, jest na to wiele przykładów w historii IT: IE, GG, Facebook...

Tja, a powstawanie ciągle coraz to nowszych super ekstra frameworków JS jest wręcz owijaniem gówna w złotko, co potwierdza tę teorię.
Co do tej listy to dorzuciłbym jeszcze CSS. Może nie jest to język programowania ale duet CSS + JS powoduje często niezmiernie wielkie nagromadzenie obornika.

edytowany 1x, ostatnio: grzesiek51114
Ktos
HTML+CSS są kompletne w sensie Turinga więc w sumie można nazwać językami programowania ;-)
LukeJL
CSS jest zły, ale to kolejna rzecz, której nie da się uniknąć (przynajmniej jak się chce robić normalne aplikacje, bo jak ktoś robi powiedmy gry czy zaawansowane animacje to można w sumie na Canvasie i masz w dupie CSS). Można mieć tylko nadzieję, że z biegiem czasu się to jakoś unormuje i język ten jeszcze zakwitnie (powstały już Flex i Grid, kto wie, co wymyślą nowego w CSS za kilka lat).
V-2
  • Rejestracja:prawie 8 lat
  • Ostatnio:9 miesięcy
  • Postów:671
0

Nie będę oryginalny: PHP i Java.

Co ciekawe, kultury funkcjonujące wokół tych języków to dwa przeciwległe krańce spektrum. Java - ceremonialny boilerplate i przeinżynierowanie (design patterns porn). PHP - wszystko "na taśmę klejącą".

Z tego względu zdrowo jest przemęczyć się w obu tych światach, bo ich wpływy łagodzą siebie nawzajem :) Pomaga to wypracować zdrowy balans między skrajnymi podejściami.

A druga rzecz. Taka ankieta faworyzuje języki mało znane, które z natury miały mniej szans, by ludziom podpaść. Wiadomo, że mało kto miał styczność choćby z połową tej listy. I to styczność pozwalającą na wydawanie jakichś sądów, bo napisanie "hello world" nie daje jeszcze podstaw do wyrokowania, czy się język lubi :) Dlatego wypadałoby przymierzyć do niej drugą ankietę, o lubianych. Dopiero wtedy można silić się na jakieś wnioski.


Nie ma najmniejszego powodu, aby w CV pisać "email" przed swoim adresem mailowym, "imię i nazwisko" przed imieniem i nazwiskiem, ani "zdjęcie mojej głowy od przedniej strony" obok ewentualnego zdjęcia. W drugiej firmie której już pracuję mam palących marihuanę programistów [...] piszą kod "leniwie", często nie wysilając się, rozwlekając ten kod, unikając np. programowania funkcyjnego (mówię tutaj o lambdach w javie).
edytowany 2x, ostatnio: V-2
KP
Krakers114 PL
A pomiędzy nimi assembler :)
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
0

czekam na tematy taby vs spacje, czysty język vs frameworki itp. :)


hauleth
Wydaje mi się, że to pierwsze już było tutaj na forum.
vpiotr
Programiści używający spacji więcej zarabiają - więc nie ma o czym dyskutować.
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:3 dni
  • Lokalizacja:Wrocław
2
V-2 napisał(a):

A druga rzecz. Taka ankieta faworyzuje języki mało znane, które z natury miały mniej szans, by ludziom podpaść. Wiadomo, że mało kto miał styczność choćby z połową tej listy. I to styczność pozwalającą na wydawanie jakichś sądów, bo napisanie "hello world" nie daje jeszcze podstaw do wyrokowania, czy się język lubi

Myślę, że to nie jest duży problem, bo większość ludzi, która hejtuje jakiś język nie napisała w nim nigdy ani linijki, robi to ze względów czysto ideologicznych albo żeby przypodobać się reszcie swojego stada (np. większość Javowców zawsze hejtuje C# dla zasady).

K8
  • Rejestracja:ponad 10 lat
  • Ostatnio:2 miesiące
  • Lokalizacja:Małopolska
  • Postów:643
0

programowalem w jezykach

turbo paskal 7.0 for dos

c++ 3.0 for dos

delphi 3.0 for windows

html/css/js/php - podstawy w notatniku

0

Myślę, że to nie jest duży problem, bo większość ludzi, która hejtuje jakiś język nie napisała w nim nigdy ani linijki, robi to ze względów czysto ideologicznych albo żeby przypodobać się reszcie swojego stada (np. większość Javowców zawsze hejtuje C# dla zasady).

I na odwrót. Jestem za .NET'em ale nie hejtuje Javy. ;)

V-2
  • Rejestracja:prawie 8 lat
  • Ostatnio:9 miesięcy
  • Postów:671
0

Byłoby to już znacznie logiczniejsze. W końcu to C# stworzono, by poprawić błędy i wypaczenia Javy, a nie odwrotnie. I widać to do dziś. Zarazem nie lubię tego terminu "hejtowanie" - niektórzy używają go na określenie każdej krytycznej opinii. Moje porównanie może być - jak każde odczucie - dyskusyjne, ale przedstawiam je jako osoba, która w obydwu językach napisała setki tysięcy linii kodu.


Nie ma najmniejszego powodu, aby w CV pisać "email" przed swoim adresem mailowym, "imię i nazwisko" przed imieniem i nazwiskiem, ani "zdjęcie mojej głowy od przedniej strony" obok ewentualnego zdjęcia. W drugiej firmie której już pracuję mam palących marihuanę programistów [...] piszą kod "leniwie", często nie wysilając się, rozwlekając ten kod, unikając np. programowania funkcyjnego (mówię tutaj o lambdach w javie).
edytowany 1x, ostatnio: V-2
MA
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad rok
  • Postów:1
0

Czy tylko ja lubię PHP? :O

V-2
Z jakimi innymi językami masz doświadczenie?
vpiotr
Nie tylko. Jako dziesiąty język całkiem nieźle się sprawdza - w swojej domenie.
0

U mnie w pracy np. phpowcy kpia z jsa. A jsowcy kpia z php :D

LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:2 minuty
  • Postów:8399
0

Mogą sobie kpić, ale co z tego jak potem siadają do Reacta. A przecież React powstał dzięki PHP właśnie.


0
Złoty Terrorysta napisał(a):

U mnie w pracy np. phpowcy kpia z jsa. A jsowcy kpia z php :D

A u mnie w pracy rubinowcy kpią z pythonowców, a elixiarze z nich wszystkich.

edytowany 1x, ostatnio: flowCRANE
KP
KP
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 4 lata
  • Postów:19
0

Ja wybrałem 3:
Python - za brak klamer, po prostu źle mi się w tym pisze.
Js - porażka, używałem tego do statycznej strony. Nigdy więcej.
Vba - pisałem w tym na zajęciach na politechnice. Mix C# i C++ i w ogóle dużo treści mało robi.

Odnośnie Java vs C# to pisze w obu. W javie konsolowe. A w C# UWP. Ogólnie w Javie czasami trafi się coś dziwnego typu zwracanie stringa z FileDialog zamiast File. Za to w c# nie polecam pisać aplikacji zarządzania wątkami w NET.<4.0 .

V-2
Najfajniejsza rzecz w Javie (starej, bo zdaje się że je wymienili - ale u mnie na Androidzie panuje w wielu kwestiach wiek dwudziesty) to API daty i czasu :) .NET to przy tym niebo a ziemia.
TJ
@V-2 tak trudno dodać joda time do zależności?
V-2
@TestowyJanusz tak trudno zrozumieć, że nie każdy projekt jest pisany przez nas od zera? Weź sobie na utrzymanie jakiś duży, stary projekt, intensywnie korzystający z tych API, i przerabiaj wszystko na Jodę. Daj znać jakie były wrażenia, i jak udało się uniknąć jakichkolwiek bugów :) A poza tym moim zdaniem język w sensie ścisłym powinno się oceniać przez pryzmat jego bibliotek standardowych. To, w jaki sposób społeczność połatała rozmaite jego wady i niedostatki, to jest całkiem inna historia.
V-2
@TestowyJanusz inny przykład sytuacji, w której oparcie się na czymś w stylu Joda nie jest zbyt wygodne, to choćby pisanie własnej biblioteki. Powiedzmy, że - pozostając w kontekście tego problemu - byłaby to biblioteka operująca wartościami dotyczącymi daty i czasu. Otóż nie byłoby dobrą praktyką zmuszać wszystkich użytkowników tej biblioteki, by wraz z nią musieli przyjąć dodatkową zależność w postaci np. Joda Time. Byłoby znacznie lepiej, gdyby móc ograniczyć się do libek z zakresu standardowego.
Fantazjatyk
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 3 lata
  • Postów:133
1

Zagłosowałem na Bash.
Co za paskudny syntax! Zwłaszcza comparison operators, fuj.

A czemu Java jest tak bardzo nielubiana? Przecież jest klarowna, bezpieczna, szybka w działaniu i przewidywalna. Za cóż by ją nienawidzić? Chyba tylko z jakieś wrodzonej wrogości.
Bądźmy poważni...

edytowany 9x, ostatnio: Fantazjatyk
spartanPAGE
suddenly, a wild NPE appears
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:3 dni
  • Lokalizacja:Wrocław
0
Fantazjatyk napisał(a):

A czemu Java jest tak bardzo nielubiana? Przecież jest klarowna, bezpieczna, szybka w działaniu i przewidywalna. Za cóż by ją nienawidzić? Chyba tylko z jakieś wrodzonej wrogości.
Bądźmy poważni...

Po prostu ludzie oświeceni nie cierpią baroku.

Fantazjatyk
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 3 lata
  • Postów:133
0
somekind napisał(a):
Fantazjatyk napisał(a):

A czemu Java jest tak bardzo nielubiana? Przecież jest klarowna, bezpieczna, szybka w działaniu i przewidywalna. Za cóż by ją nienawidzić? Chyba tylko z jakieś wrodzonej wrogości.
Bądźmy poważni...

Po prostu ludzie oświeceni nie cierpią baroku.

Ależ to dwuznaczne.

SR
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 7 lat
  • Postów:2
0

PHP jest najgorsze...

V-2
  • Rejestracja:prawie 8 lat
  • Ostatnio:9 miesięcy
  • Postów:671
0
Fantazjatyk napisał(a):

A czemu Java jest tak bardzo nielubiana? Przecież jest klarowna, bezpieczna, szybka w działaniu i przewidywalna. Za cóż by ją nienawidzić? Chyba tylko z jakieś wrodzonej wrogości.

Java nie ma luzu, jest jak wóz z węglem. A przydałoby się trochę polotu i finezji.


Nie ma najmniejszego powodu, aby w CV pisać "email" przed swoim adresem mailowym, "imię i nazwisko" przed imieniem i nazwiskiem, ani "zdjęcie mojej głowy od przedniej strony" obok ewentualnego zdjęcia. W drugiej firmie której już pracuję mam palących marihuanę programistów [...] piszą kod "leniwie", często nie wysilając się, rozwlekając ten kod, unikając np. programowania funkcyjnego (mówię tutaj o lambdach w javie).
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:24 minuty
0
V-2 napisał(a):

(...) W końcu to C# stworzono, by poprawić błędy i wypaczenia Javy, a nie odwrotnie. (...)

Nie. C# zaczynał jako klon Javy, a został stworzony dlatego, że strategia EEE ( https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish ) nie zadziałała. MS stworzył własną niekompatybilną wersję Javy, ale łamało to jej licencję i w konsekwencji został zmuszony do zapłacenia wysokiej kary Sunowi.

C# 1.0 był praktycznie taki sam jak współczesna mu Java. Dopiero potem drogi C# i Javy się rozeszły. C# 2.0 praktycznie zerwał kompatybilność z C# 1.0 wprowadzając niekompatybilne wstecznie generyki. Sun nie zdecydował się na taki krok. Zamiast tego wprowadził generyki z wymazywaniem typów by dało się migrować kod małymi krokami (bez konieczności przepisywania hurtem).

Inaczej mówiąc, C# wcale nie naprawił błędów Javy, tylko oba języki są rozwijane w inny sposób. Gdyby C# miał naprawiać błędy Javy to na pierwszy ogień poszłyby typy nullowalne. C# tego jednak nie naprawił. Null-safety mamy za to w Kotlinie.

#Flame :)


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit
V-2
  • Rejestracja:prawie 8 lat
  • Ostatnio:9 miesięcy
  • Postów:671
1
Wibowit napisał(a):
V-2 napisał(a):

(...) W końcu to C# stworzono, by poprawić błędy i wypaczenia Javy, a nie odwrotnie. (...)

Nie. C# zaczynał jako klon Javy

Tak... i jak wiadomo, żeby zrobić czegoś klon, angażuje się projektanta Turbo Pascala oraz Delphi, Hejlsberga :))) A do pomalowania przedpokoju dzwoniło się zazwyczaj po Beksińskiego

Klona może zrobić każdy. Jak mówił sam Hejlsberg:

First of all, C# is not a Java clone. In the design of C#, we looked at a lot of languages. We looked at C++, we looked at Java, at Modula 2, C, and we looked at Smalltalk

Polecam cały wywiad: http://www.windowsdevcenter.com/pub/a/oreilly/windows/news/hejlsberg_0800.html

C# 1.0 był praktycznie taki sam jak współczesna mu Java.

Był jeszcze bardzo podobny, ale już wtedy różnił się pod istotnymi względami - np. brakiem podziału na typy prymitywne i obiektowe. Poza tym stan wersji 1.0 nie odzwierciedlał zamierzeń projektowych; to był po prostu balon próbny. To nie jest tak, że "nakręcili jedynkę" i na pomysł dalszej ewolucji tego tworu wpadli dopiero później :) Pewne zamierzenia i strategia były już na starcie.

Ta wizja którą przedstawiasz, jest dość wiernym podsumowaniem "czarnego PR-u" stosowanego w tamtym okresie (czyli kilkanaście lat temu, bo niewielu "ostatnich Mohikanów" nadal się przy tym upiera) przez środowisko związane z Javą. Już wtedy dość łatwo było wytknąć luki i nieścisłości w tych stwierdzeniach.

Gdyby C# miał naprawiać błędy Javy to na pierwszy ogień poszłyby typy nullowalne. C# tego jednak nie naprawił.

[original research] :)

Jest to wysoce dyskusyjne; moim zdaniem nieprawda. Czy nullowalność postrzegano jako największy problem? Raczej nie. Czy może najłatwiejszy do naprawienia? Tym bardziej nie. Jej wykluczenie z języka to spory skok. Trzeba poza tym myśleć historycznie. C# powstał w 2000. To kupa czasu. Wystarczy uświadomić sobie, że słynna konkluzja o null jako "billion dollar mistake" pochodzi z 2009. C# z miejsca naprawił sporo Javowych zaszłości, choćby np. zostawiając za burtą checked exceptions.


Nie ma najmniejszego powodu, aby w CV pisać "email" przed swoim adresem mailowym, "imię i nazwisko" przed imieniem i nazwiskiem, ani "zdjęcie mojej głowy od przedniej strony" obok ewentualnego zdjęcia. W drugiej firmie której już pracuję mam palących marihuanę programistów [...] piszą kod "leniwie", często nie wysilając się, rozwlekając ten kod, unikając np. programowania funkcyjnego (mówię tutaj o lambdach w javie).
edytowany 1x, ostatnio: V-2
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:24 minuty
0

Liczą się efekty, a nie zamysły. James Gosling też chciał skonstruować inny język niż to co znamy pod nazwą Java (w wersji początkowej). Sam w wywiadzie przyznał się, że bardziej odpowiadałaby mu skladnia zbliżona do Scali. Ze względów marketingowych pozostali jednak przy składni przypominającej C++. Niezrealizowane zamysły Goslinga są jednak tyle samo warte co niezrealizowane zamysły Hejlsberga.

Fakty są natomiast takie, że składnia C# 1.0 jest bardzo podobna do składni Javy 1.4, różnią się co najwyżej małymi detalami.

Kontynuując temat zamysłów projektantów to taki JavaScript w zamyśle autora miał być w zasadzie sensowną implementacją języka Scheme pod przeglądarki, ale pod presją czasu i nacisków od kierownictwa na szybkie przygotowanie dema wyszło co wyszło.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 2x, ostatnio: Wibowit
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:3 dni
  • Lokalizacja:Wrocław
2
Wibowit napisał(a):

Niezrealizowane zamysły Goslinga są jednak tyle samo warte co niezrealizowane zamysły Hejlsberga.

Tylko, że nie ma czegoś takiego - pomysły Hejlsberga zostały zrealizowane.

Fakty są natomiast takie, że składnia C# 1.0 jest bardzo podobna do składni Javy 1.4, różnią się co najwyżej małymi detalami.

Fakty są takie, że ten rzekomy "klon" miał od początku istnienia więcej ficzerów, i od tamtego czasu Java ciągle próbuje go składniowo gonić, ale jest zawsze spóźniona o 4 (w przypadku atrybutów i enumów), 7 (w przypadku lambd), +inf lat (w przypadku inferencji typów, wsparcia dla asynchroniczności).
To jest taki klon jak ten wegetarianin w piosence "12 groszy".

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:24 minuty
0

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

Poza tym jedna uwaga: jest spora różnica między byciem klonem, a zaczynaniem jako klon. To, że w C# 2+ dodano milion ficzerów nie zmienia porównania C# 1.0 vs Java 1.4


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit
Ktos
Moderator
  • Rejestracja:prawie 23 lata
  • Ostatnio:około 4 godziny
1

Property i zdarzenia (pomysły wzięte z Delphi :P) to nie wystarczająca różnica?

edytowany 1x, ostatnio: Ktos
Julian_
fajny avatar, z jakiej to bajki?
Ktos
To jest Scott Pilgrim z komiksów serii "Scott Pilgrim vs the World", ale konkretnie ten obrazek nie występuje w komiksach i autor narysował go parę miesięcy temu i pokazał na Twitterze AFAIR.
flowCRANE
@Ktos: nie myślałeś o umieszczeniu informacji o pochodzeniu awatarka w sygnaturce? Już kolejnego widzę, który o to dopytuje. ;)
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 11 godzin
2
Wibowit napisał(a):

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

Ktos napisał(a):

Property i zdarzenia (pomysły wzięte z Delphi :P) to nie wystarczająca różnica?

Miał unsigned.
I goto :-P
I operatory (w tym mało dziś znane operatory true i false które mogą zastąpić typy nullable).
I wskaźniki wraz z resztą unsafe.
I pewnie inne rzeczy które nie przychodzą mi do głowy.

edytowany 1x, ostatnio: Azarien
V-2
Nie miał checked exceptions, wszystko w C# było obiektem (bez podziału na int / Integer, bool / Boolean etc.)
Azarien
@V-2 a z tym się wiąże podział na reference types i value types, w tym struktury (struct), idea Javie zupełnie obca.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)