BLOGo


SharpDX

Posted on 2015-04-19 23:20:00

W stronę kafelków

Grafika windowsowej aplikacji POOL została przeniesiona na nową bibliotekę, SharpDX. Ta przebudowa jest podstawą do przejścia z desktopowego stylu win 7 do kafelkow 8.1 i wkrótce 10.

W dzisiejszym wydaniu 1.0.1.5 dodaliśmy także planowaną funkcjonalność operatora dostępu do składowych klasy. Dotychczas przy jego pomocy można było wywołać funkcję na zdalnym żółwiu lub odczytać jego zmienną:

to model
  "x := 123
end

"t := (newt $model)

print who @ :t ;wyjście: model1
print :x @ :t  ;wyjście: 123

Teraz analogicznie można to wykonać na zbiorze żółwi:

to model
  "x := 123
end

"t := (newturtles 3 $model)

print who @ :t ;wyjście: [model1 model2 model3]
print :x @ :t  ;wyjście: [123 123 123]

Nowa składnia jest jeszcze w fazie ostatnich testów i nie jest udokumentowana w podręczniku. Wkrótce po zakończeniu tych prac dodamy także projekt ilustrujący zastosowanie operatora.


Odpalamy

Posted on 2015-04-04 12:00:00

Wydanie Wielkanocne

  • Monitor: zmienne lokalne, globalne i statyczne - z możliwością edycji wartości; funkcje z oznaczeniem dziedziczenia, typu i argumentów; stan właściwości obiektu.
  • Lista wyboru: zobacz jak działa w projekcie Fraktale II.
  • Wyszukiwanie i więcej autoformatowania w edytorze.
  • Poprawki, poprawki, poprawki...
Jeśli nie zaglądasz codziennie do zakładki z projektami: Gra w kulki i Bąble.

Co dalej?

  • Grafika i prezentacja danych.
  • Komunikacja z zewnętrznym światem: dostęp do źródeł danych i urządzeń, współpraca z zewnętrznymi bibliotekami kodu.
  • Optymalizacja wydajności kodu wynikowego.
I częste aktualizacje!


Monitor zmiennych

Posted on 2015-03-09 00:15:00

Ostatni update 0.9.x.x

Wraz z najnowszą aktualizacją pojawił się monitor wartości zmiennych. Ten komponent jeszcze znacznie rozbudujemy, ale już teraz pozwala zrozumieć organizację danych w obiektach POOL. Monitor będzie ważnym elementem w nauce języka i debugowaniu programów.

Tłumaczenie interfejsu jest gotowe - program można używać po angielsku (hmm, co też obwieszczamy po polsku).

W banerze wpisu - grafika na podstawie jednego z ostatnich projektów, który polecamy: atraktory.

Uwaga: jeśli Twoja wersja nie zaktualizuje się automatycznie, po prostu pobierz i zainstaluj POOL ponownie - to może być konieczne w przypadku długo nie aktualizowanego oprogramowania.


Bity, operatory, języki

Posted on 2015-02-10 22:35:00

Do wersji 1.0 jest coraz bliżej.

Operatory ułatwiają zapis działań arytmetycznych i logicznych. Standardowe wersje LOGO używają tylko kilku podstawowych operatorów, a tymczasem POOL zmierzając do wersji 1.0 ma całą serię nowych operatorów.
W dzisiejszej aktualizacji pojawiły się także operacje na bitach.
UWAGA: ze względu na nowe elementy składni niektóre projekty wymagają ponownego pobrania ze strony.

Przez cały czas postępują prace nad tłumaczeniem strony na język angielski. W wielu miejscach jeszcze pojawia się tekst polski, ale jesteśmy już tak gdzieś w połowie drogi.


Dołączanie plików z kodem

Posted on 2015-01-31 15:07:00

Łatwiej zarządzać klasami jeśli są w osobnych plikach.

Program napisany w stylu obiektowym potrzebuje zazwyczaj podziału na kilka plików. Kod klas jest wtedy bardziej przejrzysty, łatwiej się po nim poruszać i edytować, a co jeszcze ważniejsze: podstawowe klasy zapisane w plikach-modułach mogą być używane przez wiele programów.

W uaktualnionej wersji POOL dodaliśmy instrukcje konieczne do łączenia wielu plików z kodem:

  • include - w miejscu wywołania instrukcji wstawiana jest treść wskazanego pliku; w ten sposób można dołączać własne moduły lub standardowe moduły dołączone do POOL'a;
  • defined? - tą instrukcją można sprawdzić czy funkcja o danej nazwie jest już zdefiniowana, pozwala to uniknąć wielokrotnego dołączania modułu, który został już włączony w innym miejscu kodu lub przez inny moduł;
  • name? - instrukcja sprawdza, czy zmienna o podanej nazwie już jest zdefiniowana.

Dodaliśmy też pierwszy projekt ilustrujący użycie nowych instrukcji: krzywe parametryczne.


Nowy Rok 2015!

Posted on 2014-12-30 15:30:00

W nadchodzącym Nowym Roku wszelkiej pomyślności.

Do życzeń załączamy program strzelający sztucznymi ogniami:

bounce ht pu setbg "black
to firework [:c 1] [:s 10 + random 5] [:a 0]
  ifelse :c = 0
    [setpalette "blendsnow setturtleimg "blue_light_small]
    [setpalette "hot setturtleimg "yellow_light_small]
  seth random 360 st pd
  "t := timer [
    if :iter > 20 [destroy]
    (setpc 50*:iter 2*:iter + 5)
    fd :s rt :a "a := :a + rnorm 1
    if random 40 = 0 [
      ht arc 360 5
      "f := (anewturtles 2 $firework :c 0.7*:s)
      destroy
    ]
  ] 15 + random 10
end

"shot := timer [
  setxy (runif -300 300) (runif -300 300)
  if random 5 = 0 [
    clean let "f (anewturtles 30 $firework random 2)
  ]
] 200


Święta, święta!

Posted on 2014-12-22 23:00:00

Życzymy wszystkim spokojnych i szczęśliwych Świąt!

Na stronie dodaliśmy katalog projektów w POOL. Na razie będą tam przykładowe programy napisane przez nas, a z czasem udostępnimy możliwość dodawania programów przez użytkowników.
Aby zacząć od zimowej tematyki - wśród pierwszych projektów mamy płatki śniegu rysowane fraktalami. Najprostszy zajmuje kilka linijek kodu - taka jest krzywa Kocha rysowana przez funkcję rekurencyjną. Te bardziej finezyjne to zbiory Julii kolorowane różnymi algorytmami.


Przedpremiera

Posted on 2014-12-06 13:15:34

Witajcie!

Dziś, 6 grudnia 2014, udostępniliśmy przedpremierową wersję POOL. POOL jest odmianą LOGO, jednak o większym potencjale niż pierwowzór - POOL jest obiektowy, z natury równoległy, a programy są kompilowane. Chcemy, żeby inwestycja w naukę prostych podstaw LOGO pozwalała korzystać z tego języka długo, aż do rozwiązywania poważnych zadań na studiach czy w pracy. W czym jest POOL oraz we wprowadzeniu znajdziecie więcej szczegółów.
Zanim nadamy POOL numer wersji 1.0, chcielibyśmy poznać wasze opinie na jego temat. Język i oprogramowanie są już niemal gotowe, ale zachowaliśmy też przestrzeń na potrzeby przyszłych użytkowników.

Na początek udostępniamy dwie wersje oprogramowania:

  • Środowisko do tworzenia i uruchamiania programów w POOL.

    W tej wersji znajduje się zarówno linia interaktywnych poleceń, jak i edytor kodu z podświetlaną składnią i kompilacją w tle. Możesz uruchomić program na pełnym ekranie oraz włączyć siatkę współrzędnych. Konfiguracja POOL jest dostępna "programowo" oraz w okienku. Wbudowany opis języka pozwala łatwo sięgnąć po podpowiedź.
    Dziś dostępna jest wersja dla systemu Windows, jako program "desktop". Obsługa kolejnych systemów pojawi się najszybciej jak to tylko będzie możliwe - priorytetem jest dla nas optymalizacja wydajności i wysoka jakość programu, a to oczywiście przekłada się na czas.

  • Prosta, "okienkowa" linia poleceń.

    Ta wersja pozwala interaktywnie wydawać pojedyncze polecenia a także uruchomić cały program. Zapewnia pełną obsługę POOL, ale nie jest to edytor kodu.
    Chcemy by ta wersja była maksymalnie uniwersalna i zadziałała na każdym systemie, w którym można zainstalować platformę .NET i bibliotekę WinForms (na dziś: Windows, Linux, OS X). Ze względu na uniwersalność, wydajność grafiki zależy od implementacji bibliotek danego systemu operacyjnego.

Wypróbuj POOL, uruchom jeden z gotowych projektów ze strony lub napisz własny program. Nie krępuj się zadać pytanie lub podzielić wrażeniami. W trakcie trwania "Przedpremiery" poszukujemy również możliwych dróg współpracy i wsparcia rozwoju POOL. Jeśli jesteś zaintersowany, napisz do nas.
Opinie i kontakt

Język polski, język angielski...

Zdecydowaliśmy się na przedpremierę strony i interfejsu programu w języku polskim. Jednak jeden element zachowujemy angielski: słowa kluczowe i polecenia języka POOL. Naszym zdaniem całkowite tłumaczenie na język lokalny, jakie często można spotkać w dialektach LOGO, ułatwia tylko pierwszy kontakt, ale dodaje pracy w każdym następnym kroku, zwłaszcza jeśli LOGO/POOL mają być wstępem do nauki innych języków programowania. Lokalizacja języka utrudniałaby także użytkownikom z różnych krajów dzielenie się programami.
Sam interfejs programu oraz komunikaty POOL są teraz dostępne w obu językach. Wraz z wersją 1.0 planujemy także angielską wersję strony internetowej.

Kiedy 1.0?

Za trzy miesiące!