Firma Aaeon Europe rozpoczęła na Kickstarterze kampanię z płytką Up. Pod wieloma względami technicznymi jest to wierna kopia minikomputera Raspberry Pi 2 Model B, jednakże jest kilka szczegółów ją odróżniających. Na początek warto wspomnieć o zastosowanym układzie, a jest nim Intel Atom x5-Z8300, który posiada 4 rdzeniowy procesor Airmont/Cherry Trail oraz kartę graficzną Intel HD Graphics. Następnie mamy standardowe 1GB pamięci operacyjnej DDR3L-1600 (z możliwością rozszerzenia do 2GB), wbudowaną pamięci 16GB eMMC flash (z możliwością rozszerzenia do 32GB), 40 portów GPIO, gigabitowy port internetowy, USB 3.0, 4 x USB 2.0, HDMI 1.4, MIPI DSI i MIPI CSI-2.
Zasilanie odbywa się poprzez wtyczkę mini-Jack. Wstępna cena urządzenia została ustalona na 89 Euro.
Ciąg dalszy podróbek. Nawet nie wysilą się, żeby stworzyć coś bardziej innowacyjnego… chociażby, żeby miało 2x GPIO etc.
A co w tym złego? Dostajesz alternatywę z mocniejszym CPU jednocześnie możesz wykorzystać istniejące peryferia i obudowy – czyli możesz skorzystać z szerokiego asortymentu produktów stworzonych z myślą o RPi.
Do tego często (a właściwie zazwyczaj) w korzystniejszym stosunku wydajności do ceny.
Fajnie jakby do tego udostepnili tez biblioteki w D. Brakuje mi plytki prototypowej z obsluga tego jezyka. Cos tam zaczyna isc do przodu z stm32 ale to caly czas nic w porownaniu do innych jezykow. Zreszta w przypadku D nie tylko w tym zakresie ale brakuje tez innych „ready to use” rozwiazan. Tutaj jest wlasnie sila pythona, ma juz biblioteki praktycznie do wszystkiego co mozna sobie wymyslic ale ta skladnia i szukanie bledu w bialych znakach to mnie odrzuca.. tak juz jakos od dziecka przywyklem do skladni C, ze innych nie akceptuje, a ze programista jestem to i tez nie musze.
„Ze programista nie jestem” mialo oczywiscie byc..
Przecież masz biblioteki w C (praktycznie do wszystkiego łącznie z RasperryPi, na który piszę w C++)… a skoro masz bibliotekę w C to masz ją w każdym języku (szczególnie w D, w którym obsługujesz biblioteki w C tak łatwo jak w C++ (extern (C) void foo();) i nie potrzebujesz wrapperów jak w pythonie czy jni w javie, które działają runtime i są mocno problematyczne).
No ok ale nie po to biore D zeby pisac w C, wtedy bym poprostu napisal program w C. Wiem, ze potrzebne funkcje moge sobie w ten sposob zaimplementowac ale to nie to samo co po prostu natywna biblioteka gotowa do uzycia. Takie np boto dla AWS api w pythonie.. biore i uzywam. Nie uswiadczysz do tego modulu w D (to tylko jeden z licznych przykladow, do takiego np FaceBook api i wielu innych tak samo). Moge sobie zrobic wstawki z bilblioteki C++ dla AWS ale znowu wtedy bym programowal w bolu i cierpieniu w C++ zamiast w przyjemnym D. A jak pisalem nie jestem programista i jesli chce juz cos napisac to ma byc to szybko i przyjemnie i tutaj D bardzo dobrze sie sprawdza tyle, ze nie ma niestety za wiele dodatkowych bibliotek, ktore sa wlasnie sila np pythona. A nie jest to jakis jezyk „z wczoraj” (ma juz chyba z 15lat) i to mnie bardzo dziwi.
Pieszesz wraper do funkcji i dalej piszesz w D. Jak społeczność D nie napisze wraperów to same się nie zrobią. :)
Mnie brakuje wraperów do Rusta, pobawiłbym się tym językiem. :P
A nie wystarczy użyć extern (C)?
Do Rusta można znaleźć kod na github: https://github.com/npryce/rusty-pi
Importujesz funkcje i dalej piszesz w D (i nie ma tu kszty braku „natywności”). Nie rozumiem zupełnie o co Ci chodzi. Rozumiem, że lubisz język D, bo sam jestem jego wielkim fanem, chociaż częściej muszę pracować z pochodnymi C (C/C++/GLSL/OpenCL/…), ale nie widzę w którym miejscu tracisz przyjemność z D, skoro wystarczy, że napiszesz linijkę w D, że chcesz użyć funkcji X i już jej używasz bez najmniejszych problemów z poziomu D. Python to akurat przykład wręcz przeciwny – pisanie wrapperów jest denerwujące, nie masz żadnej kontroli czy dobrze go napisałeś, aż do wywołania runtime i ogólnie jest kiepsko tam z tym… dlatego community musi wydawać wrappery do wszystkiego co jest w C (prawie wszystkie jego „biblioteki” to wrappery na kod napisany w C), bo to nie jest tak banalne i przyjemne jak w D. Język D nie ma dużego community, bo próbuje konkurować z C++, które są wydajniejsze nie dając tak dużo w zamian (w stosunku do Boost, a teraz C++11). Podobny problem napotkała kolejna już próba detronizacji C++ czyli język Go od Google – język też już młody nie jest, bo publiczny od 2009 roku (pisany jest przez sławy języków programowania odpowiedzialne za C i Unixa), ale po pierwsze nie bardzo jest na niego miejsce, bo jest wolniejszy od C++, ma wycieki pamięci w swoim GC, nie da się debuggować, bo jego wielowątkowość rozwala każdy debugger, nie ma narzędzi do profilowania… można by tak wymieniać długo dlaczego C++ dalej rządzi w tym segmencie języków, a konkurencja tak naprawdę jest tylko egzotyką.
Jak zwykle odpowiadasz na wysokim poziomie.
Brawa ci za to.
Dzieki za wytlumaczenie, teraz troche inaczej patrze na te bindingi. Skoro jednak to nie jest nic „gorszego” to czemu staraja sie napisac natywne biblioteki w czystym D. Jak np ta: https://github.com/jens-gpio/stm32f42_discovery_demo
Co do popularnosci, szkoda, ze sie uparli na detronizacje tego C++, oczywiscie mozna do tego dazyc ale ja bym raczej zastapil nim wlasnie takieo pythona. D jest jezykiem wysokiego poziomu takze po co na sile konkurowac. Wiadomo, ze zawsze cos kosztem czegos.
BTW zna ktos jakas ksiazke po polsku do D ewentualnie jakis tutorial.. nie moge nic znalezc, a z tego co jest dostepne po angielsku nie potrafie porzadnie zrozumiec templatek i tupli.
Masz bibliotekę WiringPI, dorób jej bindingi do D. Zyskasz sławę, będą wizyty w zakładach pracy i szkołach.
http://wiringpi.com/