Większość języków programowania ma pewne decyzje projektowe, które wpływają na ich użycie i zastosowanie.
Na przykład:
- Python koncentrował się na łatwości utrzymania / czytelności kodu i miał wcięcia jako część samego języka.
- Intencją Javy było, aby platforma OOP była „łatwiejsza” i „przyjaźniejsza” niż C ++
- Cel C został zbudowany jako opakowanie OO wokół C, nie wiedząc wówczas o przyszłości C ++
- Erlang jest przeznaczony do wysoce odpornych na uszkodzenia i współbieżnych systemów
- PHP przeznaczony do obsługi dynamicznego tworzenia stron internetowych
- CoffeeScript zaprojektowany, aby odsłonić dobre części Javascript i dodać cukier syntaktyczny OOP oraz ukryć niuanse (globale itp.) JS „za kulisami” itp.
Każdy język programowania próbował wykorzystać i wykorzystać konkretną niszę IMHO. Powyżej są moje poglądy na to, jakie były podstawowe zasady języków programowania i które regulowały ich ewolucję i powszechną adaptację. Oczywiście jest ich o wiele więcej, ale lista ma jedynie charakter przykładowy
Jednak starałem się zrozumieć podstawowe zasady, na których opiera się Ruby i jej rosnącą popularność. Jakie były podstawowe zasady Ruby, które sprawiają, że jest dziś popularny? Czy jest to geniusz jednego człowieka, który zaprojektował framework Rails? Jeśli to ostatnie sprawiło, że Ruby sprawiła, że projektowanie Railsów było lepsze / łatwiejsze / szybsze? W jakim sensie?
Najczęściej cytowanym powodem twórcy jest „... chciałem bawić się słabo napisanym językiem programowania” - nie uważam tego za powód do stworzenia nowego języka programowania! Programowanie to czysta zabawa IMHO bez względu na język (każdy język ma pewne złe strony, ale albo się go obchodzi, albo żyje z nim).
Więc jaką niszę wykorzystał (lub robi) Ruby, która nie jest wykorzystywana przez obecne języki? Jaki jest „mocny punkt” (USP) Ruby, który doprowadził do jego powszechnego zastosowania? Co Ruby zrobiła, czego wcześniej nie robiono (lub było niezwykle trudne)?
Nie jestem programistą Ruby, ale po prostu Ruby Noob i stąd zamieszanie.
Oświadczenie : To NIE jest wojna z ogniem i nie szukam odpowiedzi w języku Ruby kontra język programowania. Szukam decyzji projektowych, na których opiera się Ruby, które doprowadziły do powszechnego przyjęcia. Jaką niszę Ruby zyskała na popularności, czy jest to wyłącznie przypisanie Railsom?
To nie odpowiada bezpośrednio na pytanie tytułowe, ale odnosi się do niektórych podniesionych kwestii (tj. Dlaczego stworzono Ruby)
Cytaty Yukihiro „Matza” Matsumoto, twórcy Ruby, które mogą pomóc wyjaśnić, co zainspirowało jego powstanie:
Zasadniczo Matz chciał bardzo zorientowanego obiektowo języka, który został zaprojektowany dla szczęścia programisty.
źródło
+
in1+1
jest metodą.Ruby (razem z szynami) upowszechnił konwencję konfiguracji .
Stara (nie rubinowa na szynach) droga była
W przypadku konwencji dotyczącej konfiguracji podstawowa praca jest wykonywana automatycznie:
contras: musisz nauczyć się wszystkich wieków, więc nauka rubinu na szynach przy pierwszym uruchomieniu jest trudniejsza.
zalety: gdy poznasz konwencje, dość łatwo jest zrozumieć kod innych deweloperów ruby on rails, ponieważ każdy jest zmuszony przestrzegać tych samych konwencji.
tymczasem konwencja dotycząca konfiguracji weszła w wiele ekosystemów kodowania
źródło
Po pierwsze, Ruby jest „bieżącym językiem”. Może masz na myśli „Języki, które były popularne, kiedy Ruby powstał w 1995 roku”.
Lubię Ruby z tych samych powodów, dla których lubiłem Perla:
Jest mocny i wyrazisty. Mogę napisać o jednym wierszu kodu Ruby zamiast pięciu wierszy Java lub C ++. Nie ma powtórzeń, których nie można by uwzględnić przy minimalnym zamieszaniu.
Jest dynamiczny. Metody i właściwości można tworzyć w czasie wykonywania, dzięki czemu mogę owijać obiekty wokół zewnętrznych elementów, takich jak tabele bazy danych, bez powielania definicji tych rzeczy i bez przebudowywania aplikacji.
Istnieje doskonała książka na temat języka ( Programowanie Ruby ), która jest zarówno czytelna, jak i wyczerpująca.
Istnieje jedno repozytorium dla pakietów domeny publicznej oraz wygodny interfejs wiersza poleceń do repozytorium.
Ale ja lubię Ruby bardziej niż Perl, ponieważ jest bardziej czytelny.
Istnieje wiele stron porównujących Ruby z Pythonem. Lubię ich obu. Wolę Ruby, ale mam ograniczone doświadczenie z Pythonem.
źródło