Sponsorem tego wpisu jest BP, który zupełnie przypadkowo spowodował, że zacząłem sobie przypominać różne dziwne języki, w których popełniłem choć trochę kodu. Czasami bardzo trochę. Przypominam, że nie jestem (i nie uważam się) za programistę, ale w razie czego coś, co jakoś działa jestem w stanie napisać.
Retrospekcja
Jestem sobie w stanie przypomnieć:
- Clipper, dBase,
- Prolog,
- Lisp,
- Smalltalk,
- Java,
- JavaScript, JScript, VBScript,
- Pascal,
- Logo,
- różne języki powłoki (Windows, *nix),
- C, C++,
- J++, Basic, VB, VB.NET, C#, JScript.NET,
- Python, ipyton, IronPython,
- SQL,
- HTML, XML, XSLT,
- PHP,
- Icon,
- Assembler,
- Smali,
- Perl,
- TCL,
- AWK,
- LaTeX,
Pamięci trochę sobie pomogłem listą języków programowania, zdaję sobie też sprawę, że w co najmniej kilku przypadkach można dyskutować, czy coś jest, czy nie jest językiem programowania. Kilku języków nie wymieniłem, choć miałem ochotę się z nimi zapoznać bliżej. Takim przypadkiem jest Ruby. Są też języki, do których zmusić się nie potrafię, przykładem może być BeanShell oraz PowerShell.
Spośród wymienionych wyżej języków moim ulubionym jest Python. Po prostu w miarę szybko jestem w stanie zrobić to, co chcę, bez irytującej mnie w Javie czy C# nadmiernej "celebracji". Pamiętam, że bardzo podobał mi się Smalltalk, miał jakiś taki swój "klimat". Lisp i Prolog kompletnie mi nie leżały. O ile w Lispie chyba główną barierą była składnia, z Prologiem problem był głębszy. To jednak jest zupełnie inny sposób myślenia, podejścia do rozwiązywania problemów, ich zapisywania. Jakoś nie mogłem się na ten tryb myślenia przestawić, choć zdaję sobie sprawę, że w wielu przypadkach tak jest wygodniej. Ostatnio natknąłem się na przykład na informacje o wykorzystaniu tego języka w kontekście Androida, a konkretnie do wymuszania założonej polityki bezpieczeństwa (analizowanie uprawnień przed/w trakcie instalacji aplikacji, patrz: Understanding Android Security).
A jak już kompletnie nie będę miał co robić, to może zajmę się językami typu Brainfuck albo Whitespace (choć to też jest mroczne: jjencode), że o Visual Swahili albo Navajo++ nie wspomnę :)