DSL vs DSML: czym są języki dziedzinowe i języki modelowania dziedzinowego?

Z pojęciem języków dziedzinowych (ang. DSL – Domain-Specific Languages) spotkałem się już dość dawno i znaczenie tego pojęcia było dla mnie w miarę zrozumiałe. Chodzi po prostu o języki zaprojektowane do użycia w konkretnych dziedzinach i dostosowane do nich swoją składnią oraz semantyką. Kiedy jednak pewnego razu natknąłem się na skrót DSML, rozwijany jako Domain-Specific Modeling Languages (języki […]

Read More

Guietta – sposób na proste GUI w Pythonie

W swoim programistycznym życiu napisałem przy użyciu frameworka Qt tysiące linii kodu. Przygodę z nim zacząłem od jego naturalnego środowiska, jakim jest język C++. Później zaś, gdy przerzuciłem się na Pythona, miałem okazję stworzyć całkiem sporo aplikacji, wykorzystując do tego PyQt. Używając zwrotu „napisałem w Qt” mam na myśli nie tylko posługiwanie się najróżniejszymi klasami, […]

Read More

Smalltalk – najczystszy z obiektowych języków programowania

Śmiało można rzec, że paradygmat programowania obiektowego jest obecnie najpopularniejszym i najpowszechniej używanym. Większość języków głównego nurtu, jak chociażby C++, Java, Python, C# czy JavaScript, pozwala na tworzenie oprogramowania właśnie w sposób obiektowy. Co więcej, paradygmat ten ma już swoje lata, bowiem pierwszy język obiektowy powstał już ponad 50 lat temu (pisałem o tym w […]

Read More

Poza łacińskim kręgiem kulturowym

Programowanie to dziedzina na wskroś przesiąknięta językiem angielskim. Nazwy słów kluczowych, funkcji wbudowanych i wszelkich bytów definiowanych przez użytkownika zazwyczaj zapisuje się właśnie w tym języku. Niektórzy żartują, że porządnie napisany kod powinno czytać się tak jak dobrą książkę. I chyba wszyscy wiemy, że chodzi o książkę właśnie po angielsku. Oczywiście tu również zdarzają się […]

Read More

Pięć sposobów na… silnię w Haskellu!

Jak zaimplementować w Haskellu funkcję, obliczającą silnię? Każdy, kto chociaż zetknął się z tym językiem, będzie na pewno wiedział, że do gry powinna wkroczyć rekurencja. Chcąc wyliczyć n! dla n>0 będziemy liczyć n * (n-1)!, a warunkiem kończącym naszą rekurencję będzie zwrócenie wartości 1 dla 0!. Wielu początkujących ma jednak problem z tym, której konstrukcji […]

Read More
Oryginalne mixiny, czyli lody z domieszkami

Mixiny w językach programowania

O ile takie pojęcia jak polimorfizm, dziedziczenie czy agregacja są doskonale znane adeptom programowania obiektowego, o tyle świadomość istnienia mixinów nie wydaje się być już tak powszechna. Spotykane niekiedy polskojęzyczne określenie to domieszka. Oryginalna nazwa wywodzi się od lodziarni działającej w amerykańskim Somerville, w której serwowano desery w dość oryginalny sposób – klientom oferowano kilka podstawowych smaków lodów, do których mogli oni […]

Read More
Programistka Grace Hopper przy komputerze UNIVAC I

Kobiety i ich języki, czyli historie znanych programistek

Trudno nie zgodzić się ze stwierdzeniem, że informatyka to branża zdominowana przez mężczyzn. Jeśli jesteś przedstawicielką płci pięknej, to być może istniejący w społeczeństwie stereotyp programisty oraz liczne żarty o kodujących kobietach zniechęcają Cię do spróbowania swoich sił w tej dziedzinie, nawet jeśli stwierdzasz u siebie silne predyspozycje w tym kierunku. W kwestii kobiet w […]

Read More