Te same instrukcje inaczej w każdym języku

0

Dodawanie do seta w C++: insert
Dodawanie do seta w Pythonie: add

Długość wektora w C++: size()
Długość tablicy w Pythonie: len(tablica)
Długość tablicy w JS: length

Dodawanie do wektora w C++: push_back
Dodawanie do tablicy w JS: push
Dodawanie do talicy w Pythonie: append

Poważnie, zaczynam być wściekły, że musiałem mniej więcej zapoznać się z tymi 3 językami na raz. Bez przerwy mi się to koci. Mam dosyć pisania już w C++ s.add(coś) gdy s jest setem i pisania w JS arr.size().

Nie rozumiem, czemu nie powstała jednorodna konwencja na nazewnictwo tych analogicznych operacji??

1

Nie rozumiem, czemu nie powstała jednorodna konwencja na nazewnictwo tych analogicznych operacji??

Pewnie dlatego, że w momencie powstawania tych funkcji nie stały za nimi żadne komitety standaryzacyjne. A teraz już jest za późno by cokolwiek zmieniać.

Poza tym nikt nikomu nie broni stworzenia jednorodnej nakładki na wszystkie te języki (czyli dla każdego języka osobna wersja nakładki, ale z tymi samymi nazwami funkcji).

0

C# Convert.ToInt32(value)

C++ podobno
std::stoi( str )
lub
atoi( str.c_str() )
lub
std::istringstream ss(thestring); ss >> thevalue;

0

Mieszkańcy całej ziemi mieli jedną mowę, czyli jednakowe słowa. A gdy wędrowali ze wschodu, napotkali równinę w kraju Szinear i tam zamieszkali. I mówili jeden do drugiego: „Chodźcie, wyrabiajmy cegłę i wypalmy ją w ogniu”. A gdy już mieli cegłę zamiast kamieni i smołę zamiast zaprawy murarskiej, rzekli: „Chodźcie, zbudujemy sobie miasto i wieżę, której wierzchołek będzie sięgał nieba, i w ten sposób uczynimy sobie znak, abyśmy się nie rozproszyli po całej ziemi”. A Pan zstąpił z nieba, by zobaczyć to miasto i wieżę, które budowali ludzie, i rzekł: „Są oni jednym ludem i wszyscy mają jedną mowę, i to jest przyczyną, że zaczęli budować. A zatem w przyszłości nic nie będzie dla nich niemożliwe, cokolwiek zamierzą uczynić. Zejdźmy więc i pomieszajmy tam ich język, aby jeden nie rozumiał drugiego!” W ten sposób Pan rozproszył ich stamtąd po całej powierzchni ziemi, i tak nie dokończyli budowy tego miasta. Dlatego to nazwano je Babel, tam bowiem Pan pomieszał mowę mieszkańców całej ziemi. Stamtąd też Pan rozproszył ich po całej powierzchni ziemi.

2

Jak już miałbym się czegoś czepiać to sprawdzenia czy kolekcja jest pusta:
C++, PHP, Elixir: empty()
Java/Scala: isEmpty()
Rust: is_empty()
Julia: isempty
Haskell: null
Python: nazwa obiektu w if: http://www.pythoncentral.io/h[...]ictionary-is-empty-in-python/
JavaScript: to skomplikowane: https://helloacm.com/how-to-c[...]bject-is-empty-in-javascript/

1
kmph napisał(a):

Nie rozumiem, czemu nie powstała jednorodna konwencja na nazewnictwo tych analogicznych operacji??

Bo nie powstały w Związku Radzieckim.

0

...ale to kurcze naprawdę aż tak przeszkadza? Kto by się tego wszystkie uczył na pamięć w ogóle? Sam jak czegoś nie pamiętam to szukam w InteliSense czy w dokumentacji. Tak już jest i trzeba się z tym pogodzić, bo dzisiaj raczej nikt tego nie będzie zmieniał.

Bez przerwy mi się to koci.

Kiedyś miałem nawet wyrzuty, że nie mogę tego wszystkie zapamiętać. Dzisiaj nam to w nosie i jak nie pamiętam to patrzę np. w MSDN. Myślę, że problem tutaj przedstawiony jest jednak przesadny, bo to tak jakby mylić się przy wpisywaniu cp na Linuksie i copy na Windowsie. Nie ma się czym przejmować. :)

Bo nie powstały w Związku Radzieckim.

Wiadomo, że co sowieckie to "najlepsze". Mieli kiedyś komputery RIAD na całe RWPG. Co z tego, że nasze, rodzime maszyny były lepsze i szybsze jak ich były "lepsze i szybsze". Rzecz jasna trzeba było dostosować się do "standardów". :)

1
kmph napisał(a):

Nie rozumiem, czemu nie powstała jednorodna konwencja na nazewnictwo tych analogicznych operacji??

To może od razu: dlaczego nie powstał jeden, jedyny język programowania którego wszyscy by używali? :-)

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