Ruby po vystřízlivění

cs v kategorii code • 2 min. čtení
Mind the age! Most likely, its content is outdated. Especially if it’s technical.

Ruby mne hodně lákalo. Má několik zajímavých programátorských konceptů a syntaktických vychytávek, které se mi moc líbily a chtěl si je vyzkoušet. Vyzkoušel jsem si tedy Ruby pro jedno webové API a vyhnul se RoR, abych si vyzkoušel skutečné Ruby. Dopadlo to tak, že jsem si API po pár měsících přepsal do oblíbeného Pythonu.

Ruby má totiž opravdu spoustu vychytávek. Problém je, že jich má tolik, až není jasné, kdy bych měl kterou použít. Například se mi líbilo, že lze volat funkci různými způsoby, buď jako normální funkci, nebo jakoby kód funkce byl na místě volání. To pak otevírá možnosti zavolat třeba i předčasné ukončení „rodičovské“ funkce. Jenže pak je každé volání jiné a nikdy nevím, které použít. Je i několik způsobů na dědičnost, vyhazování výjimek, přístupu k atributům, podmínkování, vytváření polí, … a v různých knihovnách se využívají různé způsoby.

Což je problém. Sám jsem nevěděl, jaký přístup zvolit. Víc a víc jsem řešil, jak je která knihovna napsaná a jak bych si měl kód strukturovat. Navíc Ruby má podobný problém jako dřív JavaScript: Ruby on Rails je odpovědí na téměř jakoukoliv otázku. Což mne pak ještě více mátlo, protože jsem těžko rozpoznával, co je vlastně čisté Ruby, co built-in moduly, co third-party moduly a co RoR.

Na Ruby je vlastně krásně vidět problém, který je popisován v knize Coders at Work: Programátoři při psaní kódu chtějí přidat něco svého. Jenže je více věcí, které lze přidat, než věcí, které by se pouze měli přidat.

Zároveň s Ruby jsem na svém projektu použil i Haskell a ten jsem si naopak zamiloval. Je totiž Ruby přesným opakem, základ je velice jednoduchý. Začal jsem si tak více vážit věty z Pythoního modulu this: There should be one– and preferably only one –obvious way to do it.

Takže jsem si Ruby zkusil a tuto kapitolu uzavřel smazáním kódu. Jediné, co mi bude skutečně chybět, jsou vestavěné regulární výrazy.








Může se vám také líbit

en Makefile with Python, November 6, 2017
en Fast JSON Schema for Python, October 1, 2018
en Deployment of Python Apps, August 15, 2018
cs Jasně, umím Git…, August 6, 2014
cs Checklist na zabezpečení webových aplikací, March 1, 2016

Další články z kategorie code.
Nenechte si ujít nové články díky Atom/RSS kanálu.



Poslední příspěvky

cs Mami, tati, přejde to, December 9, 2023 in family
cs Co vše bychom měli dělat s dětmi?, November 24, 2023 in family
cs O trávicí trubici, November 7, 2023 in family
cs Na šestinedělí se nevyspíš, October 28, 2023 in family
cs Copak to bude?, October 20, 2023 in family