7 powodów, dla których nie czytam blogasków na O'Reilly
Na planecie blogasków o Rubym firmowanym przez O'Reilly pojawił się artykuł 7 powodów, dla których wróciłem na łono pehapa po krótkiej przygodzie z prawdziwym programowaniem.
Artykuł jest dość mało wartościowy, bo (jak każdy matematyk zauważy) zaczyna się błędem - 7 reasons I switched back to PHP after 2 years on Rails
- widzimy tutaj porównanie języka (PHP) do frameworka (Rails). Z tego, zdawałoby się nieznacznego, błędu wynika nonsens całości. Możnaby zamienić Rails na dowolny framework i cała wymowa artykułu byłaby taka sama. I naprawdę mam tu na myśli dowolny framework.
Zaciekawiło mnie też jedno postawione w tekscie pytanie:
#1 - “IS THERE ANYTHING RAILS/RUBY CAN DO THAT PHP CAN’T DO? … (thinking)… NO.”
Pytanie jest idiotyczne, bo faktycznie nie chodzi o to "czy można" tylko "jak można", ale nasunęło mi inną myśl. O ile dobrze pamiętam, to można matematycznie dowieść, że języki programowania są równoważne (czyt. żaden język nie może zrobić nic, czego by inne nie potrafiły), jeśli są sprowadzalne do maszyny Turinga. Ale niestety, teoria obliczeń to jedyny przedmiot, z którego miałem warunek i nie pomnę dokładnie. Do nadrobiena.
Tak naprawdę, jedyną wartościową wypowiedzią (poza potwierdzeniem starej maksymy - Lepsze jest wrogiem dobrego
- którą jednak każdy programista pewnie zna) w całym artykule jest:
Rails was an amazing teacher. I loved it’s “do exactly as I say” paint-by-numbers framework that taught me some great guidelines.
I love Ruby for making me really understand OOP. God, Ruby is so beautiful. I love you, Ruby.
J2EE w Poznaniu
Sekcje Koła Naukowego Informatyków UAM kPRO i Snark mają przyjemność zaprosić na wykład pt. Wstęp do EJB 3.0, czyli jak stworzyć nowoczesną aplikację w architekturze J2EE.
- prelegenci: Karol Kraśkiewicz i Marek Kubis - studenci IV roku informatyki UAM, zawodowi programiści J2EE
- czas: czwartek 31 maja, 17.15
- miejsce: Wydział Matematyki i Informatyki UAM, aula B
Po prelekcji przewidziana jest dyskusja dotycząca architektur J2EE, niekoniecznie kontynuowana w auli ;).
RuPy Conference 2007
W dniach 14-15 kwietnia w Poznaniu odbędzie się międzynarodowa konferencja poświęcona językom programowania Ruby i Python. Serdecznie zapraszam.
Więcej informacji na stronie konferencji.
Do as I say, not as I do
Joel pisze:
Ruby is a beautiful language and I'm sure you can have a lot of fun developing apps it in, and in fact if you want to do something non-mission-critical, I'm sure you'll have a lot of fun, but for Serious Business Stuff you really must recognize that there just isn't a lot of experience in the world building big mission critical web systems in Ruby on Rails, and I'm really not sure that you won't hit scaling problems, or problems interfacing with some old legacy thingamabob, or problems finding programmers who can understand the code, or whatnot. So while Ruby on Rails is the fun answer and yes I've heard of 37 Signals and they're making lovely Ruby on Rails apps, and making lots of money, but that's not a safe choice for at least another year or six.
(...)
FogBugz is written in Wasabi, a very advanced, functional-programming dialect of Basic with closures and lambdas and Rails-like active records that can be compiled down to VBScript, JavaScript, PHP4 or PHP5. Wasabi is a private, in-house language written by one of our best developers that is optimized specifically for developing FogBugz; the Wasabi compiler itself is written in C#. #
Tłumacząc - Nie piszcze w RoR, bo 10 lat istnienia języka i 2 frameworka to za mało, żeby mu można było zaufać. Mało kto go przetestował. To, że u niektórych (37 signals) się sprawdza to nic nie znaczy. Najlepiej użyć Javy/PHP/C# (ew. Python). Wiem co mówię, w końcu sam piszę w zamkniętym języku, który napisał jeden z moich ludzi, nigdzie szerzej nie testowanym i przez nikogo wcześniej nie użytym do poważnej aplikacji.
Lecteur de musique Listen
Rozumiem, że odtwarzacz muzyczny może się bez powodu zawieszać. Rozumiem, że ktoś nie pomyślał, żeby wysyłanie informacji o utworze do last.fm dać w osobnym wątku, żeby w przypadku braku połączenia nie blokowałoby to działania całego programu. Rozumiem nawet istnienie dwóch opcji 'refresh library' i 'reload library', różniących się w moim odczuciu jedynie tym, że pierwsza nic nie robi, a druga czasem działa.
Jestem w stanie się pogodzić z tymi wszystkimi niedociągnięciami. Ale jak ktoś nazywa program Listen just listen
, może mieć to tylko kilka przyczyn:
- poważny niedorozwój umysłowy
- wysoce wykształcona złośliwość pod adresem użytkowników
- nienawiść i pogarda względem użytkowników wyszukiwarek internetowych
A jak ktoś mi powie jak pozbyć się kilkuminutowych 'przerw na zastanowienie programu' między każdym odtwarzanym utworem to ozłocę. Bo odtwarzacz poza dużą ilością irytujących niedociągnięć jest świetny.
