Scheme
5 języków programowania, które warto znać będąc już programistą
Jakiś czas temu na https://4programmers.net pojawiło się stwierdzenie: Ostatnio oglądałem wypowiedź twórcy języka C++, gdzie Bjarne Stroustrup powiedział, że zna ponad 20 języków programowania w przynajmniej podstawowym stopniu, dodał, że dobry programista powinien znać bardzo dobrze przynajmniej 5 języków, aby potrafił spojrzeć na problem z różnych perspektyw. Jaką piątkę wy byście wybrali, w jakiej kolejności i dlaczego?
Sześć rodzajów polimorfizmu - polimorfizm jakiego nie znamy z OOP
Wydawałoby się, że trzy rodzaje polimorfizmu, jakie są spotykane w obiektowych językach programowania i które opiswałem w artykule Sześć rodzajów polimorfizmu - polimorfizm jaki znamy z OOP, są wszystkim czego potrzebujemy do szczęścia, żeby pisać zwięzły kod. Czasem pojawi się tylko jakiś zgrzyt, gdzie trzeba zaimplementować wzorzec wizytator lub fakrykę.
No Exceptions - o problemach z wyjątkami
Wyjątki bywają problematyczne, ale przez swoich obrońców, są często przedstawiane jako jedna z fundamentalnych części programowania obiektowego. Co ciekawe wyjątków nie ma w podstawowych założeniach paradygmatu obiektowego. Nie ma też nic o wyjątkach w definicji programowania obiektowego podanej przez Alana Kaya, lider zespołu tworzącego język Smalltalk uznawany za twórcę tego terminu. Za to jest o komunikowaniu się obiektów za pomocą wiadomości.
Kolejny język programowania - język wszystkomający
Język wszystkomający jest to język w którym można programować imperatywnie, funkcyjnie, obiektowo, proceduralnie oraz strukturalnie. Prawdopodobnie jest to język zły do nauki jako pierwszy język programowania. Może też być złym językiem do nauki pojedynczych paradygmatów programowania, jeśli nie mamy odpowiedniej dyscypliny. Jeśli jednak mamy tę dyscyplinę jest to genialny język do nauki nowych paradygmatów programowania. Po co uczyć się nowych paradygmatów programowania starałem się wyjaśnić w artykule Kolejny język programowania do nauki - paradygmaty programowania.
Kolejny język programowania do nauki - paradygmaty programowania
Zdecydowaliśmy się nauczyć programować. I zostać programistami. Może nawet dostaliśmy pierwszą pracę. I w tej pracy ktoś nam powiedział, że uczy się nowego, a więc i kolejnego, języka programowania. Czemu się uczy? Bo np. usłyszał/przeczytał cytat:
Który język programowania wybrać na początek - język natywny
Wiele osób pyta się, który język programowania wybrać na początek jako pierwszy język do nauki. Wiele jednak zależy od tego do czego chcemy użyć tego języka programowania. Dlatego wybrałem zwycięzców w czterech kategoriach: dynamicznie typowany język skryptowy ogólnego przeznaczenia statycznie typowany język korporacyjny używany do pisania długowiecznych aplikacji klasy enterprise język fullstackowy, który można używać do pisania frontendu i backendu szybki język natywny działający bez maszyny wirtualnej i interpretera
Który język programowania wybrać na początek - język skryptowy
Wiele osób pyta się, który język programowania wybrać na początek jako pierwszy język do nauki. Wiele jednak zależy od tego do czego chcemy użyć tego języka programowania. Dlatego wybrałem zwycięzców w czterech kategoriach: dynamicznie typowany język skryptowy ogólnego przeznaczenia statycznie typowany język korporacyjny używany do pisania długowiecznych aplikacji klasy enterprise fullstack język, który można używać do pisania frontendu i backendu szybki język natywny działający bez maszyny wirtualnej i interpretera
Linki zewnętrzne
Książki
- Struktura i interpretacja programów komputerowych. KLASYKA INFORMATYKI. Autorzy: Harold Abelson, Gerald Jay Sussman
- The Little Schemer - Daniel P. Friedman, Matthias Felleisen
- The Seasoned Schemer - Daniel P. Friedman, Matthias Felleisen
- The Reasoned Schemer - Daniel P. Friedman, William E. Byrd, Oleg Kiselyov
- The Scheme Programming Language (Fourth Edition), R. Kent Dybvig, Illustrations by Jean-Pierre Hébert
Implementacja rozwijane
Racket wszystkomający dialekt.Chez Scheme - wszystkomająca implementacja.
- Pierwsza wersja : 1985
- Strona domowa
- Wikipedia
- Chez Scheme Version 9 - User's Guide
- Pierwsza wersja : 1988
- Strona domowa
- Wikipedia
- Pierwsza wersja : 20 July 2000
- Strona domowa
- Wikipedia
- Learn CHICKEN in Y minutes
- Pierwsza wersja : 1993
- Strona domowa
- Wikipedia
Implementacje historyczne
s7 - embedded intepreter oparty na TinySchemeTinyScheme - embedded intepreter aktualnie używany w GimpieScsh (a Scheme Shell) - powłoka systemowa oparta na Scheme 48- Pierwsza wersja : 31 October 1994
- Strona domowa
- Wikipedia
- Github
- Pierwsza wersja : March 1987
- Strona domowa
- Wikipedia
- Pierwsza wersja : 1990
- Strona domowa
- Wikipedia
- Pierwsza wersja : 1988
- Strona domowa
- Wikipedia
- Github