Wpis z mikrobloga

@regis3: @Ginden: spokojnie, każdy język ma ułomności, po prostu uwielbiam tego typu prezentacje i chętnie się nią podzieliłem(jeśli ktoś jeszcze nie widział). Można się trochę pośmiać, choć wiadomo, że tego typu prezentacje są lekko naciągane. :P

@KrzaQ2: no właśnie to mnie tak zdziwiło.
@Ginden: Myślę, że o każdym języku/technologii można taką litanie tworzyć. Jest też przy okazji dynamicznym i nowoczesnym językiem, który adaptuje zarówno z języków obiektowych jak i funkcyjnych. Większość nowych featursów to scala.

Jedyną różnicę jaką dziś dostrzegam to ludzie, którzy korzystają z danej technologii. Próg wejścia w js jest mega mały więc średni poziom progamistów jest dość niski.

Weźmy takie c. Dość trudny, ale bardzo czytelny język. Ale ale. Był sobie
@regis3: To, ƶe jest zgodne z załoƶeniami twórców nie oznacza, ƶe nie jest ułomnością. Jeśli masz prosty i oczywisty kod i działa on inaczej niƶ się spodziewałeś to jest właśnie to.
Albo np wypowiedzi twórcy c++, jakoby stworzył ten język dlatego aby było trudno w nim pisać. Żeby zrozumieć o co chodzi w tej wypowiedzi trzeba się trochę zagłębić w społeczność programistów niskopoziomowych.


@regis3:

Trzeba się zagłębić w przypisywanie komuś stwierdzeń "bo w internecie tak pisało"

~ Albert Einstein, 1844 r.
prawdę mówiąc nie wiem co próbujesz tu udowodnić tak więc luz.


@regis3: Juƶ śpieszę Ci wytłumaczyć.

Python:
map(int, ['10', '10', '10'])[10, 10, 10]
Ruby:
['10', '10', '10'].map(&:to_i)[10, 10, 10]
Haskell:
map (read) ["10", "10", "10"] :: [Int][10, 10, 10]
D:
["10", "10", "10"].map!(to!int)[10, 10, 10]
C++:

vector vec = {"10", "10", "10"};
vector result;
transform(vec.cbegin(), vec.cend(), back_inserter(result), [](auto&& el){ return stoi(el); });
wynik:
@KrzaQ2: > parseInt

@KrzaQ2: ej serio szkoda mi czasu na takie spory. jestes zajebisty. To wypisz od razu jakie parametry przyjmują te funkcjei pogadamy. Też mogę parę języków wypisać.

Więc tak. W JS nie ma integera. Jest number. Zatem.

const arr = ["10", "10", "10"];
arr.map(Number)

Zgadnij co wypisze.
@KrzaQ2: Kontynuując twoją wyliczankę języków:

JavaScript:

['10','10','10'].map(Number) ⟶ [10, 10, 10]
lub

['10','10','10'].map(x => parseInt(x)) ⟶ [10, 10, 10]
To że ktoś świadomie (lub nie) źle używa języka nie znaczy że to automatycznie winny jest język. Bo kod .map(parseInt) to po prostu błąd programisty który akurat przypadkiem za pierwszym wywołaniem działa tak jak się ten ktoś spodziewa.