Lista edukacyjnych języków programowania - List of educational programming languages

Język programowania edukacyjnym jest język programowania , który jest zaprojektowany przede wszystkim jako narzędzie uczenia się , a mniej jako narzędzie do pisania programów do wykonywania pracy.

Rodzaje edukacyjnych języków programowania

Języki asemblera

Pierwotnie kod maszynowy był pierwszym i jedynym sposobem programowania komputerów. Język asemblera był kolejnym rodzajem używanego języka, a zatem jest jedną z najstarszych rodzin używanych obecnie języków komputerowych. Dostępnych jest wiele dialektów i implementacji, zwykle kilka dla każdej architektury procesora komputera. Jest bardzo prosty i określany jako język programowania niskiego poziomu . Jest to jeden z trudniejszych języków, który jest nieopisany i sztywny, ale tak właśnie działają komputery na niskim poziomie. W edukacji istnieje kilka uproszczonych dialektów.

Języki niskiego poziomu muszą być napisane dla określonej architektury procesora i nie mogą być pisane ani nauczane w oderwaniu bez odwoływania się do procesora, dla którego zostały napisane. W przeciwieństwie do języków wyższego poziomu, użycie edukacyjnego języka asemblerowego wymaga reprezentacji procesora, czy to zwirtualizowanego czy fizycznego. Asembler jest najbardziej pomocnym językiem do nauki podstawowych zasad działania procesora komputera.

  • Little Man Computer (LMC) to model instruktażowy prostegokomputera o architekturze von Neumanna, który posiada wszystkie podstawowe cechy współczesnych komputerów. Może być programowany w kodzie maszynowym (zwykle dziesiętnym) lub w asemblerze. Opiera się na koncepcji małego człowieka zamkniętego w małym pokoju. Na jednym końcu pokoju znajduje się 100 skrzynek pocztowych jako pamięć; każdy może zawierać trzycyfrową instrukcję lub dane. Na drugim końcu pomieszczenia znajdują się dwie skrzynki pocztowe oznaczone INBOX i OUTBOX, które odbierają i wysyłają dane. Na środku pokoju znajduje się obszar roboczy z prostym dwufunkcyjnym kalkulatorem (dodawanie i odejmowanie) zwanym akumulatorem oraz licznikiem, który można zerować, zwanym licznikiem programu. Licznik jest podobny do tego, którego używa odźwierny, aby policzyć, ile osób weszło do obiektu; może liczyć do 1 lub może być zresetowany do 0. Zgodnie z architekturą von Neumanna , pamięć przechowuje zarówno instrukcje, jak i dane. Użytkownik ładuje dane do skrzynek pocztowych, a następnie sygnalizuje małemu człowiekowi rozpoczęcie wykonywania.
  • Next Byte Codes (NBC) to prosty język ze składnią języka asemblera, który służy do programowania programowalnych klocków Lego Mindstorms NXT . Kompilator wiersza poleceń emituje kod maszynowy zgodny z NXT i obsługuje systemy Windows, Mac OS X i Linux.
  • Little Computer 3 (LC-3) jest językiem asemblerowym z uproszczonym zestawem instrukcji, ale może być używany do pisania umiarkowanie złożonych programów asemblerowych i jest teoretycznie realnym celem dla kompilatorów C. Jest prostszy niż asembler x86, ale ma wiele funkcji podobnych do tych w bardziej złożonych językach. Te cechy sprawiają, że jest on przydatny do nauczania podstaw programowania i architektury komputerowej początkującym studentom informatyki i inżynierii komputerowej, co jest jego najczęstszym zastosowaniem.
  • DLX toarchitektura procesorao zredukowanej liczbie instrukcji (RISC) opracowana przez głównych projektantów projektów MIPS i Berkeley RISC , dwa wzorcowe przykłady projektowania RISC. DLX jest zasadniczo wyczyszczonym, uproszczonym MIPS, z prostą 32-bitową architekturą ładowania/przechowywania. Jest szeroko stosowany nakursach architektury komputerowejna poziomie uczelni .
  • MIX i MMIX to hipotetyczne komputery używane wmonografii Donalda Knutha The Art of Computer Programming ( TAOCP ). Parafrazując Knutha: Systemy MIX to komputery przeznaczone do ilustrowania aspektów programowania na poziomie maszyny, więc ich język maszynowy jest prosty, elegancki, łatwy do nauczenia. Zawiera również wszystkie złożoności potrzebne do uzyskania wysokiej wydajności w praktyce, więc w zasadzie można go zbudować i być może konkurować z niektórymi szybkimi komputerami ogólnego przeznaczenia. MIX jest programowalny hybrydowo wliczbach binarnych i dziesiętnych ; większość programów napisanych dla niego będzie działać w obu formach. Implementacje oprogramowania dla MIX i MMIX zostały opracowane przez firmę Knuth i udostępnione bezpłatnie. Istnieje kilka wersji obu emulatorów. MIX to komputer w stylu lat 60-tych. Został on zastąpiony przez MMIX, nowszą nowoczesną architekturę komputerową, 64-bitową architekturę zestawu instrukcji RISC (ISA). W przypadku MMIX Knuth współpracował z architektami MIPS i Alpha ISA.

Warianty PODSTAWOWE

BASIC (co oznacza uniwersalny symboliczny kod instrukcji dla początkujących) został wynaleziony w 1964 roku, aby zapewnić dostęp do komputerów studentom nienaukowym. Stał się popularny na minikomputerach w latach 60. i stał się standardowym językiem obliczeniowym dla mikrokomputerów pod koniec lat 70. i na początku lat 80. XX wieku. Cele BASIC były skupione na potrzebach nauki łatwego programowania: być łatwym w obsłudze dla początkujących, interaktywnym, dostarczać jasnych i przyjaznych komunikatów o błędach, szybko reagować, nie wymagać znajomości sprzętu komputerowego lub systemów operacyjnych. Tym, co sprawiło, że BASIC był szczególnie przydatny w edukacji, był niewielki rozmiar programów. Przydatne programy ilustrujące koncepcję można napisać w kilkunastu linijkach. Jednocześnie BASIC nie wymagał wyrafinowania matematycznego ani informatycznego. BASIC do dziś jest często samoukiem dzięki doskonałym samouczkom i implementacjom. Zobacz Lista dialektów BASIC według platformy, aby uzyskać pełną listę. BASIC oferuje ścieżkę nauki od zorientowanych na naukę BASIC, takich jak Microsoft Small Basic , BASIC-256 i SiMPLE , do bardziej w pełni funkcjonalnych BASIC, takich jak Visual Basic .NET i Gambas .

  • Microsoft Small Basic to ograniczona wersja Visual Basic zaprojektowana jako pierwszy język, „mająca na celu przywrócenie zabawy w programowaniu”. Język jest dość mały i zawiera tylko 15 intuicyjnych słów kluczowych. Dołączając biblioteki specyficzne dla obiektów, które są przedmiotem ogólnego zainteresowania dzieci, dzieci mogą tworzyć zabawne, interaktywne programy w sieci lub na komputerze. Na przykład za pomocą 6 linii kodu można zademonstrować losową przeglądarkę obrazów sieciowych przy użyciu Flickr jako źródła. System wykorzystuje środowisko Microsoft Visual Studio IDE do automatycznego uzupełniania i pomocy kontekstowej .
  • Basic-256 łatwa w użyciu wersja BASICa przeznaczona do nauczania podstaw programowania komputerowego. Używa tradycyjnych BASIC- owych struktur kontrolnych ( gosub , for loops , goto ) w celu ułatwienia zrozumienia sterowania przepływem programu. Posiada wbudowany tryb graficzny, który pozwala dzieciom rysować obrazki na ekranie po kilku minutach. Zawiera samouczki, które wprowadzają koncepcje programowania poprzez zabawne ćwiczenia.
  • SiMPLE to system programowania, który został stworzony, aby zapewnić łatwe możliwości programowania dla wszystkich, zwłaszcza nieprofesjonalnych. Przypomina to trochę AppleSoft BASIC . Jest skompilowany i pozwala użytkownikom tworzyć własne biblioteki często używanych funkcji. „Prosty” to ogólny termin określający trzy nieco różne wersje języka: Micro-SiMPLE wykorzystujący tylko 4 słowa kluczowe, Pro-SiMPLE i Ultra-SiMPLE wykorzystujący 23 słowa kluczowe.
  • Hot Soup Processor to język wywodzący się z języka BASIC, używany w japońskich szkołach.
  • TI-BASIC jest prostym językiem podobnym do BASICa zaimplementowanym w kalkulatorach graficznych Texas Instruments, często służącym jako pierwsze spojrzenie uczniów na programowanie.
  • SmallBASIC szybki i łatwy do nauczenia interpreter języka BASIC idealny do codziennych obliczeń, skryptów i prototypów. Zawiera funkcje trygonometryczne, macierzowe i algebry, wbudowane IDE, potężną bibliotekę ciągów, polecenia systemowe, dźwiękowe i graficzne oraz składnię programowania strukturalnego.

Oparte na C

  • Ch to interpreter języka C/C++ zaprojektowany, aby pomóc studentom spoza CS w nauce matematyki, obliczeń i programowania w C i C++. Rozszerza C o funkcje numeryczne, graficzne 2D/3D i skrypty.

Oparty na Javie

  • NetLogo , napisany w Javie i Scali, to środowisko programistyczne do budowania i eksploracji modeli naukowych, w szczególności modeli opartych na agentach. Jest szeroko stosowany zarówno w badaniach naukowych (artykuły naukowe wykorzystujące NetLogo), jak iw kontekście edukacyjnym, w tym w szkołach podstawowych, średnich, uniwersytetach i muzeach.

Oparte na sepleniu

Lisp jest drugim najstarszym z rodziny języków programowania w użyciu, i jako taki ma wiele z dialektów i wdrożeń w wielu trudności. Lisp został pierwotnie stworzony jako praktyczna notacja matematyczna dla programów komputerowych, oparta na rachunku lambda , co sprawia, że ​​szczególnie dobrze nadaje się do nauczania teorii obliczeniowych. Jako jeden z najwcześniejszych języków, Lisp był pionierem wielu pomysłów w informatyce , w tym drzewiastych struktur danych , automatycznego zarządzania pamięcią masową , dynamicznego typowania , programowania obiektowego i samohostującego się kompilatora, z których wszystkie są przydatne do nauki informatyki.

Nazwa LISP wywodzi się od "języka przetwarzania listy". Listy połączone są jedną z głównych struktur danych języków , a kod źródłowy Lisp składa się z list. W ten sposób programy Lisp mogą manipulować kodem źródłowym jako strukturą danych, dając początek systemom makr , które umożliwiają programistom tworzenie nowej składni lub nawet nowych języków specyficznych dla domeny osadzonych w Lispie. Tak więc Lispy są przydatne do nauki projektowania języka i tworzenia niestandardowych języków.

Rozsądną ścieżką uczenia się byłoby Logo, po którym następuje dowolny wariant edukacyjny, taki jak Scheme lub newLISP, po którym następuje wariant profesjonalny, taki jak Common LISP.

  • Logo to język, który został specjalnie zaprojektowany, aby wprowadzić dzieci w programowanie. Pierwsza część nauki Logo dotyczy "grafiki żółwia" (wywodzącej się z robotów-żółwi ) używanej już w 1969 roku z proto-Logo. We współczesnych implementacjach, abstrakcyjne urządzenie do rysowania, zwane żółwiem , służy do uatrakcyjnienia programowania dla dzieci, koncentrując się na tworzeniu grafiki z żółwiami . Seymour Papert , jeden z twórców Logo, był głównym myślicielem konstrukcjonizmu , odmiany konstruktywistycznej teorii uczenia się . Papert twierdził, że czynności, takich jak pisanie, będą naturalnie nauczone przez znacznie młodsze dzieci, pod warunkiem, że przyjmą kulturę komputerową. Logo zostało zatem zaprojektowane nie tylko po to, aby uczyć programowania i koncepcji komputerowych, ale także po to, aby poprawić samopoczucie dziecka w kulturze coraz bardziej zdominowanej przez technologię, „ ważniejsze niż wczesne rozpoczęcie budowania intelektualnego, jest uratowane przed długim okresem zależność, podczas której uczy się myśleć o uczeniu się jako o czymś, co musi być wyeksponowane przez silniejszego innego… Takie dzieci nie określiłyby siebie ani nie pozwoliłyby społeczeństwu określić ich jako bezradnych intelektualnie . jako 3 i ma na swoim koncie 30 lat sukcesów w edukacji. Ponieważ Logo jest w rzeczywistości uproszczoną wersją Lispu z bardziej zaawansowanymi uczniami, może być wykorzystane do wprowadzenia podstawowych pojęć informatyki, a nawet sztucznej inteligencji. Logo jest powszechnie dostępne na praktycznie każdej platformie, zarówno w wersji darmowej, jak i komercyjnej.

Oparte na Scali

  • Kojo to interaktywne środowisko programistyczne dla komputerów stacjonarnych opracowane głównie do celów edukacyjnych, które działa w systemach Windows, Linux i OS X. Jest to środowisko edukacyjne z wieloma różnymi funkcjami, które pomagają w odkrywaniu, uczeniu się i nauczaniu pojęć w obszarach programowanie komputerowe i krytyczne myślenie, matematyka i nauka, sztuka, muzyka i kreatywne myślenie, umiejętność obsługi komputera i Internetu.

Oparta na Smalltalk

W ramach projektu One Laptop per Child została opracowana sekwencja języków opartych na Smalltalk, z których każdy ma służyć jako wprowadzenie do następnego. Struktura to Scratch to Etoys to Squeak do każdego Smalltalka . Każda z nich zapewnia środowiska graficzne, które mogą być wykorzystane do nauczania nie tylko koncepcji programowania dla dzieci, ale także symulacji fizyki i matematyki, ćwiczeń z opowiadania historii itp. poprzez wykorzystanie konstruktywnego uczenia się . Smalltalk i Squeak to w pełni funkcjonalne języki programowania aplikacji, które są znane i szanowane od dziesięcioleci; Scratch to narzędzie do nauki dla dzieci.

  • Scratch to język wizualny oparty i zaimplementowany w Squeak . Jego celem jest nauczenie dzieci koncepcji programowania i umożliwienie im tworzenia gier, filmów i muzyki. W Scratch wszystkie interaktywne obiekty, grafiki i dźwięki można łatwo importować do nowego programu i łączyć na nowe sposoby. W ten sposób początkujący mogą uzyskać szybkie rezultaty i być zmotywowani do dalszych prób. Społeczność Scratch opracowała i przesłała ponad 3 000 000 projektów. Jest rozwijany przez grupę Lifelong Kindergarten w MIT Media Lab .
  • Etoys opiera się na idei programowalnych wirtualnych bytów zachowujących się na ekranie komputera. Etoys zapewnia bogate w media środowisko do tworzenia z prostym, potężnym modelem obiektów skryptowych dla wielu rodzajów obiektów tworzonych przez użytkowników końcowych. Obejmuje grafikę 2D i 3D , obrazy , tekst , cząsteczki, prezentacje, strony internetowe, filmy , dźwięk i MIDI , możliwość udostępniania pulpitów innym użytkownikom Etoy w czasie rzeczywistym , dzięki czemumożna wykonaćwiele form wciągającego mentoringu i zabawy przez Internet . Jest wielojęzyczny i był z powodzeniem używany w Stanach Zjednoczonych , Europie , Ameryce Południowej , Japonii , Korei , Indiach , Nepalu i innych krajach. Program skierowany jest do dzieci w wieku 9-12 lat.
  • Squeak to nowoczesna, w pełni funkcjonalna implementacja języka i środowiska Smalltalk. Smalltalk jest zorientowanym obiektowo , dynamicznie typowanym , refleksyjnym językiem stworzonym w celu podbudowania „nowego świata” informatyki, którego przykładem jest „symbioza człowiek-komputer”. Podobnie jak Lisp , ma trwałość opartą na obrazach , więc wszystko można modyfikować z samego języka (zobacz Smalltalk#Reflection ). Ma to ogromny wpływ na branżę, wprowadzając wiele koncepcji programowania obiektowego i kompilacji just-in-time . Squeak jest narzędziem do szerokiej gamy projektów, w tym aplikacji multimedialnych, platform edukacyjnych i tworzenia komercyjnych aplikacji internetowych . Squeak został zaprojektowany tak, aby był wysoce przenośny i łatwy do debugowania, analizowania i zmieniania, ponieważ jego maszyna wirtualna jest w pełni napisana w Smalltalk.

Pascal

  • Pascal to najbardziej znany język zaprojektowany z myślą o edukacji. Od późnych lat 70. do późnych lat 80. był to podstawowy wybór na wprowadzających zajęciach z informatyki do nauczania programowania uczniów w Stanach Zjednoczonych i Europie. Jego użycie w rzeczywistych zastosowaniach od tego czasu wzrosło i od tego czasu uważanie go za język czysto edukacyjny stało się nieco kontrowersyjne.

Inne

Dzieci

  • AgentSheets i AgentCubes to dwa narzędzia do myślenia obliczeniowego do tworzenia gier i symulacji 2D/3D. Tworzenie odbywa się za pośrednictwem aplikacji komputerowych lub aplikacji opartych na przeglądarce i może tworzyć gry 2D/3D, w które można grać w przeglądarkach zgodnych z HTML5, w tym w przeglądarkach mobilnych.
  • Alice to darmowe oprogramowanie przeznaczone do nauczania dzieci programowania obiektowego opartego na zdarzeniach. Programiści tworzą interaktywne historie przy użyciu nowoczesnego interfejsu IDE ze stylem programowania „przeciągnij i upuść”. Grupą docelową są przyjeżdżający studenci pierwszego roku studiów, chociaż większość dzieci z doświadczeniem komputerowym uzna to za zabawne i edukacyjne. Story Telling Alice to wariant Alicji przeznaczony dla młodszych dzieci, z jeszcze silniejszym nastawieniem na opowiadanie historii.
  • Blockly to oparty na otwartym kodzie źródłowym, graficzny język, w którym użytkownicy mogą przeciągać bloki, aby zbudować aplikację; nie trzeba pisać. Jest rozwijany przez Google . Więcej informacji można znaleźć na stronie głównej projektu.
  • CiMPLE to wizualny język programowania zestawu robotów dla dzieci. Jest zbudowany na C jako DSL. ThinkLabs, indyjski startup zajmujący się robotyką, zbudował go dla zestawu iPitara Robotic. Język jest bardzo podobny do języka C. Około 5000+ studentów w Indiach kupiło zestaw iPitara i zaprogramowało go za pomocą CiMPLE. Więcej informacji można znaleźć w blogu CiMPLE Original Developers Weblog i ThinkLabs.
  • Physical Etoys to bezpłatne rozszerzenie Etoys o otwartym kodzie źródłowym. Jego filozofia to „pomóż dzieciom modelować i programować rzeczywisty świat, aby dowiedzieć się o nim więcej”. Może działać na systemach Windows, Linux i Sugar. Physical Etoys umożliwia łatwe programowanie i interakcję między różnymi urządzeniami elektronicznymi, takimi jak Lego NXT, płyty Arduino, Sphero, Kinect, joystick Wiimote, dzięki systemowi skryptów blokowych. Jest idealny do programów edukacyjnych.
  • Hackety Hack to darmoweśrodowisko oparte na Ruby , którego celem jest ułatwienie nauki programowania dla początkujących, zwłaszcza nastolatków.
  • Karel , Karel++ i Karel J. Robot to języki przeznaczone dla absolutnie początkujących, używane do sterowania prostym robotem w mieście składającym się z prostokątnej siatki ulic. Podczas gdy Karel jest własnym językiem, Karel++ jest wersją Karel zaimplementowaną w C++ , podczas gdy Karel J. Robot jest wersją Karel zaimplementowaną w Javie .
  • Kodu to język prosty i całkowicie oparty na ikonach. Został wyprowadzony z Microsoft Research jako projekt mający na celu dotarcie do młodszych dzieci, a zwłaszcza dziewcząt, do korzystania z technologii. Programy składają się ze stron, które podzielone są na reguły, które dalej dzielą się na warunki i akcje. Warunki są oceniane jednocześnie. Język Kodu został zaprojektowany specjalnie do tworzenia gier i zapewnia wyspecjalizowane prymitywy pochodzące ze scenariuszy gier. Programy są wyrażane w kategoriach fizycznych, używając pojęć takich jak wzrok, słuch i czas, aby kontrolować zachowanie postaci. Chociaż nie jest tak uniwersalny jak klasyczne języki programowania, Kodu może wyrażać zaawansowane koncepcje projektowania gier w prosty, bezpośredni i intuicyjny sposób. Narzędzie Kodu jest dostępne w trzech formach: na komputer PC do bezpłatnego pobrania w publicznej wersji beta i akademickich oraz do pobrania za niewielką opłatą na Xbox 360 Live.
  • Logo to język edukacyjny dla dzieci, zaprojektowany w 1967 roku przez Daniela G. Bobrowa , Wally'ego Feurzeiga , Seymoura Paperta i Cynthię Solomon . Dziś język ten jest pamiętany głównie ze względu na użycie " grafiki żółwia ", w której polecenia do poruszania się i rysowania tworzyły grafikę liniową albo na ekranie, albo za pomocą małego robota zwanego " żółwem ". Język został pierwotnie pomyślany, aby uczyć koncepcji programowania związanych z Lispem, a dopiero później umożliwić to, co Papert nazwał „ rozumowaniem syntonicznym ciała ”, w którym uczniowie mogli zrozumieć (i przewidzieć i wnioskować o) ruch żółwia, wyobrażając sobie, co zrobiliby, gdyby byli żółw.
  • Lego Mindstorms to linia zestawów Lego łączących programowalne klocki z silnikami elektrycznymi, czujnikami, klockami Lego i elementami Lego Technic (takimi jak koła zębate, osie i belki). Mindstorms wywodzi się z programowalnych bloków czujników stosowanych w linii zabawek edukacyjnych. Pierwsza detaliczna wersja Lego Mindstorms została wydana w 1998 roku i sprzedawana komercyjnie jako Robotics Invention System (RIS). Obecna wersja została wydana w 2006 roku jako Lego Mindstorms NXT. Doburz umysłów używa się szerokiej gamy języków programowania, od Logo przez BASIC do pochodnych Javy, Smalltalk i C. Podejście Mindstorm do programowania ma teraz dedykowane strony fizyczne zwane Computer Clubhouses .
  • Mama to edukacyjnyjęzyk zorientowany obiektowo , który ma pomóc młodym uczniom w rozpoczęciu programowania poprzez dostarczenie wszystkich elementów językowych w języku ojczystym ucznia. Język Mama jest dostępny w kilku językach, z obsługą kierunku LTR i RTL. Nowy wariant Mama został zbudowany na szczycie Carnegie Mellon „s Alice środowiska rozwoju, wspieranie włączony obiektów sceny 3D. Ten nowy wariant Mama został zaprojektowany, aby pomóc młodym studentom rozpocząć programowanie poprzez tworzenie animacji i gier 3D. Dokument dotyczący zasad programowania edukacyjnego wyjaśnia rozważania projektowe mamy.
  • RoboMind to proste edukacyjne środowisko programistyczne, które pozwala początkującym programować robota. Wprowadza popularne techniki programowania, a także robotykę i sztuczną inteligencję. Robota można programować w języku arabskim, chińskim, holenderskim, niemieckim, angielskim i szwedzkim.
  • Scratch to oparty na blokach język graficzny do tworzenia animowanych historii i gier.
  • Pstryknąć! to darmowyjęzyk graficzny oparty na blokach typu open source, zaimplementowany w JavaScript i pierwotnie wywodzący się z MIT 's Scratch . Pstryknąć! dodaje możliwość tworzenia nowych bloków i posiada pierwszorzędne funkcje, które umożliwiają korzystanie z funkcji anonimowych . Jest aktywnie utrzymywany przez UC Berkeley . Źródło jest w całości utrzymywana na GitHub .
  • Stagecast Creator to wizualny system programowania oparty na programowaniu przez demonstrację . Użytkownicy demonstrują systemowi, co robić, przesuwając ikony na ekranie, a system generuje reguły dla obiektów (znaków). Użytkownicy mogą tworzyć dwuwymiarowe symulacje modelujące koncepcję, wielopoziomowe gry, interaktywne historie itp.
  • Stencyl to IDE do programowania wizualnego i tworzenia gier, które było używane w edukacji i handlu. Pojęcie korzysta z bloków kodu opiera się na MIT s” Scratch języka wizualnego (wymienionych powyżej). Pozwala również na użycie normalnego kodu (oddzielnego lub przemieszanego) poprzez własne API ijęzyk Haxe .
  • ToonTalk to język i środowisko przypominające grę wideo. Abstrakcje obliczeniowe są odwzorowane na konkretne odpowiedniki, takie jak roboty, domy, ciężarówki, ptaki, gniazda i skrzynki. Obsługuje duże liczby całkowite i dokładne liczby wymierne. Opiera się na współbieżnym programowaniu z ograniczeniami .

Uniwersytet

  • Curry to język nauczania przeznaczony do łączenia najważniejszych paradygmatów programowania deklaratywnego, a mianowicie programowania funkcjonalnego (wyrażenia zagnieżdżone, funkcje wyższego rzędu, leniwa ocena) i programowania logicznego (zmienne logiczne, częściowe struktury danych, wbudowane wyszukiwanie). Integruje również dwie najważniejsze zasady operacyjne opracowane w obszarze zintegrowanych języków logiki funkcjonalnej: „residuation” i „narrowing”.
  • Flowgorithm to graficzne narzędzie do pisania i wykonywania programów za pomocą schematów blokowych . Podejście ma na celu podkreślenie algorytmu, a nie składni danego języka. Schemat blokowy można przekonwertować na kilka głównych języków, takich jak C# , Java , Visual Basic .NET i Python .
  • M2001 to modułowy język matematyczny do opracowywania i prezentowania algorytmów matematycznych, od współczesnej matematyki dyskretnej do klasycznej matematyki ciągłej. Jest zbudowany na semantycznej strukturze opartej na teorii kategorii, ze składnią podobną do składni Pascala lub Modula-2 . Jest przeznaczony wyłącznie do edukacji, więc wydajność i łatwość wdrożenia są znacznie mniej istotne w jego rozwoju niż ogólność i zakres zastosowania. Został stworzony, aby odegrać silną rolę w tworzeniu formalnych podstaw algorytmicznych dla studentów matematyki pierwszego roku.
  • Oz to język przeznaczony do nauczania teorii komputerowej. Obsługuje większość głównych paradygmatów w jednym języku, dzięki czemu uczniowie mogą uczyć się paradygmatów bez konieczności uczenia się wielu składni . Oz zawiera w prosty i dobrze przemyślany sposób większość pojęć głównych paradygmatów programowania, w tym programowania logicznego, funkcjonalnego (zarówno leniwego, jak i gorliwego), imperatywnego, obiektowego, z ograniczeniami, rozproszonego i współbieżnego. Posiada kanoniczny podręcznik Koncepcje, techniki i modele programowania komputerowego oraz ogólnodostępną standardową implementację, System Programowania Mozarta.

Zobacz też

Bibliografia

Zewnętrzne linki