Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[Bascom] Jak to możliwe że hobbyści tak chętnie płacą 99 Euro za ten program

14 Jan 2018 19:24 10062 73
Altium Designer Computer Controls
  • #61
    Urgon
    Editor
    AVE...
    Piotrus_999 wrote:
    Nauki programowania nie powinno zaczynać się od uC.

    A ja właśnie uważam, że programowanie µC jest łatwiejsze w nauce, niż programowanie "prawdziwych" komputerów. Próbowałem Borland Delphi, próbowałem Lazarus, próbowałem VB.NET, DarkBASIC, C#, Python w dwóch wersjach i się nie nauczyłem zbyt wiele. Python ze swoim interpreterem był najbardziej użyteczny, dzięki niemu stworzyłem kilka przydatnych makr do obliczeń rekurencyjnych. Mikroklocki są prostsze. Próbowałem PICBasic, mikroC, mikroBasic, mikroPascal, w końcu stanęło na XC8/16/32. Nienawidzę C, ale to najlepszy język programowania dla mikroklocków, więc go zaakceptowałem i z niego korzystam.

    R-MIK wrote:
    O ograniczeniu do niewielkiej liczby typów wyświetlaczy nie wspomnę.

    Ostatnio szukałem biblioteki dla wyświetlaczy LCD 16x2 w XC8. Biblioteka od Microchipa obsługiwała wszystkie funkcje, ale tylko przy specyficznym przypisaniu pinów do portu, a ich inicjalizacja nie była "kanoniczna". Biblioteka z internetów rozwiązywała te problemy, ale jej obsługa wyświetlacza była mocno ograniczona w funkcjonalności. W efekcie połączyłem obie biblioteki w coś bardziej sensownego...
  • Altium Designer Computer Controls
  • #62
    kamyczek
    Level 38  
    Nie wiem dlaczego ale odnoszę ciągle wrażenie że każdemu przeszkadza ze inni mają łatwiej więcej lub za darmo . Na zachodzie ludzie też zazdroszczą tylko tam polega to na tym ,że każdy pracuje więcej ,żeby mieć tyle co sąsiad ,albo jeszcze więcej. U nas ta zazdrość polega na tym żeby sąsiadowi zrobić tak żeby miał tak samo jak my . Jeśli amatorzy od bascoma mają lepiej to zacznijcie pisać w bascomie kto wam broni ? . MI nie przeszkadza ani cena bascoma , ani to że mogą sobie jechać na lewym sofcie . Widziały gały co brały... ja mam to co mi pasuje na co się zdecydowałem nie zazdroszczę ludkom od bascoma kompilatora za 95€ mam swój za free Studio7 . A to czy ktoś jedzie na lewym czy prawym to jego indywidualna decyzja i odpowiedzialność . Poza tym cieszy mnie że jest bascom , ardruino i podobne , bo teraz można to spotkać młodych ludzi którzy mają po naście lat i się po prostu tym dobrze bawią . Wychodzę więc z założenia żyj jak chcesz i daj innym żyć jak chcą to ich życie .
  • Altium Designer Computer Controls
  • #63
    tzok
    Moderator of Cars
    R-MIK wrote:
    Coś sensownego napisałeś w Basic na Atari? Ja na C-64 nie, bez assemblera, w tych czasach, na Atrati, C-64, Spectrum ,Amstrad, Timex ..... nie było szans
    To, że Ty nie umiałeś napisać w BASICu nic sensownego, nie znaczy, że się nie dało... ja byłem wtedy dzieckiem, ale coś tam pisałem i mi to działało i sprawiało wiele radości. To, że Ty nie lubisz i nie umiesz BASICa, czy Arduino to jeszcze nie powód by go obrzydzać innym. Niech każdy sobie używa czego mu pasuje. Ja lubię Arduino i nie mam ambicji zostać programistą uC. Na moje potrzeby to jest wystarczające. Jeśli jest taka potrzeba to mogę włożyć 2 sztuki PRO MINI na Vero-Boarda i niech jedna obsługuje komunikację z użytkownikiem, a druga czujniki. Ostatnio pojawiły się Mega2560 mini - super sprawa. Kiedyś używałem ATTiny2313 i BASCOMa AVR wtedy jeszcze się bawiłem z robieniem PCB, teraz tylko gotowe moduły, veroboard i kynar...
  • #64
    lukashb
    Level 39  
    kamyczek wrote:
    Wychodzę więc z założenia żyj jak chcesz i daj innym żyć jak chcą to ich życie .
    Uuu kolego! o to w Polsce ciężko. Dziś czytałem artykuł o tym, nie pamiętam gdzie niestety, ale właśnie było to napisane podobnie do Ciebie. Bo jeden narzuca drugiemu sposób bycia, życia i innych rzeczy. Przykład: jest youtuber, zarabia na streamach po 500zł dziennie (jest to możliwe, obejrzyjcie sobie), jadą go ostro za to, że to nie praca, że co on robi, co reprezentuje, weź się do roboty, zatrudnij się itp. W każdym razie, on... zarobi więcej przez dwie noce, niż kowalski w robocie przez miesiąc i to kowalski będzie pluł na youtubera, i podważał jego robotę, bo w pewnym sensie, jest to praca. Jeżeli Cię stać na utrzymanie się z tego, to po kiego grzyba Ci etat? na emeryture? jaką... te grosze? wystarczy jak sam sobie uzbierasz. I tacy będą narzucać innym jak ma żyć, bo im nie pasuje, że on ma właśnie lepiej, bo nic nie robi wg nich.
  • #65
    tronics
    Level 38  
    Quote:
    To, że Ty nie umiałeś napisać w BASICu nic sensownego, nie znaczy, że się nie dało... ja byłem wtedy dzieckiem, ale coś tam pisałem i mi to działało i sprawiało wiele radości

    To były podstawy mojej umiejętności programowania, przykład ze spriteami C64 ... miałem zeszyt w kratkę, rysowałem swoje sprite i na przykładowym kodzie wprowadzałem własne dane. Jeszcze więcej eksperymentowałem z SIDem. Piękne czasy. BASCOM to był fajny epizod, który pozwolił mi zacząć z programowaniem mikrokontrolerów w czymś innym niż assembler. Niemniej w porę się z tego wycofałem mając jakieś doświadczenia w "console app" C/C++ na PC. Brakowało mi wiele rzeczy, które dawało C. Przekonałem się, najpierw AVR Studio 4 ale nie lubiłem. Później Eclipse. Jeszcze Code::Blocks prosto pozwalał pisać na AVR. Lepsze to niż programmers notepad którego używali inni. W poprzednim zakładzie BASCOM był kupiony i używany przez inżyniera, który akurat C zwyczajnie nie znał. Dopiero od 2 lat po odejściu innego (który akurat mikrokontrolerów nie ogarniał, ale C i C++ jak najbardziej) nieco go to przymusiło do nauki C. I myślę, że jak się dobrze "zahaczy" to i AVRy będzie w nim programował, bo każdy kto choć trochę C potrafi zauważa o ile bardziej "elastyczne" jest to narzędzie :)
  • #66
    SylwekK
    Level 31  
    Kiedy mnie zaczął doskwierać brak elastyczności w projektowanych urządzeniach na ttl i cmos zainteresowałem się uC. Chciałem szybko zacząć i faktycznie pierwszy program na avr napisałem po dwóch dniach od podjęcia decyzji i zgromadzenia dokumentacji wraz z potrzebną elektroniką. Tak, program ten był napisany w Bascom. W latach 90-ych pisałem na Commdore+4 początkowo w Basic zaraz później z wstawkami asemblerowymi, a w końcu w samym asemblerze. Do bascoma było mi najbliżej aby szybko zacząć i o ile na początku 4kB w wersji demo było wystarczające to kiedy zacząłem pisać poważniejszy program sterownika szybko okazało się, że te 4kB ( mimo solidnej optymalizacji algorytmów) to będzie mało... A że doceniam pracę programistów to podjęcie decyzji o zakupie oryginału było właściwie natychmiastowe. Nawet na Total Commander'a mam osobne licencje na kompa do pracy i do użytku domowego :) Ci którzy mnie tu trochę znają to pewnie jeszcze pamiętają jakim zatwardziałym bascomowcem byłem :-D I tak by pewnie zostało gdyby nie zaczęło mi brakować elastyczności w programowaniu. Bascom jest nieco sztywny pod tym względem i zapadła decyzja o C, w którym się odnalazłem i dobrze mi z tym :) Bascom oczywiście jest na dysku, bo najstarsze programy muszą mieć w razie czego wsparcie techniczne, a ich przepisanie na C jest mało opłacalne (zamknięte, ale jeszcze serwisowanie projekty).
  • #67
    RitterX
    Level 39  
    Nie znam się to się wypowiem ;) . Ostatnią styczność z Basic-em miałem na Elektronika-85 czyli kalkulatorze. Nie dotknąłem uC Basic-em, jakoś tak wyszło :) . Albo Assembler albo język wysokiego poziomu, dosyć często jedno i drugie.
    Zacznijmy od początku, 100 euro wydaje się sporą sumą ale mierzcie ją do siły nabywczej "targetu" czyli przewidywanego użytkownika. Dajcie spokój, Polska nie jest jakimś epicentrum technologicznym, raczej peryferiami i "wtajemniczonych" jest raczej mało. Z tego punktu widzenia to co wpadnie firmie sprzedającej Bascom to ekstra zarobek.
    Tak zapewne jest, że Bascom jest sprofilowany na mikrokontrolery 8-bit. To w zupełności wystarczy. Podobnie jak niewygórowane wymagania co do "wtajemniczenia" jeżeli chodzi o Basic na uC. Jeżeli ktoś potrzebuje prostego rozwiązania i nie chce wydawać pieniędzy na sterownik PLC, bo taką ma tylko alternatywę to zainwestuje w Bacom-a. PLC z programem "drabinkowym" jest mniej więcej odpowiednikiem złożoności tego co przeciętnie jest robione w Bascom-ie. Tak wiem ;), podobno Rosjanie w Bascomie oprogramowują układy inercyjnej nawigacji pocisków balistycznych a Polacy to dopiero!
    Wracając do Bascom-owej rzeczywistości. Mamy kompilator prostego języka w sam raz do nauki na 3 wieczory za 100 euro. Do tego dochodzi tani hardware, prosty moduł za kilka euro na np. 8051, AVR, ... i już domorosły plantator może pochwalić się w pełni zautomatyzowanym systemem do uprawy "zielska" :) albo karmienia kur, papug, kanarków,... . Co nie zwróci się to 100 euro?! A guzik, zwróci się i to z nawiązką! No i ile przy tym będzie Melanżu :) .
    O tego typu prostych i tanich aplikacjach, które pokrywają lekko licząc 80% zapotrzebowania rynku najwyżej może sobie pomarzyć IoT. Coś tam się dzieje np. R Pi ale idzie to jak po grudzie i nawet Python niewiele popchnął sprawę do przodu.
    To nie przypadek, że w pierwszych PC-tach albo w 8-bitowych mikrokomputerach C64, ZX Spectrum,... Basic był zaszyty w kości EPROM. Chodziło o to by dać proste narzędzie do tworzenia programów a tym samym napędzać rynek. Zauważcie, że nie zaszyto w EPROM-ach C, C++, Ady a nawet Fortranu a Basic. Po to by nowi użytkownicy, którzy chcą coś zrobić samodzielnie zbyt szybko się nie zniechęcili. Obecnie nazywa się to szybkim prototypowaniem ;) .
    Właśnie dlatego ludzie płacą za licencję, by szybko i nieskomplikowanie prototypować. Bez specjalnego wysilania się i brnięcia w paradygmaty zaawansowanego oprogramowania.
    Po drugiej stronie osi mamy brnących we wszelkie paradygmaty czyli programowanie w twardym czasie rzeczywistym, czasami podpieranie się FPGA by ten czas jeszcze bardziej utwardzić. Programowanie współbieżne, aplikacje w językach wsokiego poziomu z nakładkami dla jeszcze głębszego rzeźbienia ;) . Nie mniej to nie jest zupełnie potrzebne zwykłemu amatorowi np. uprawy "zielska".

    p.s.
    Dla mnie to także pozostanie zagadką dlaczego ktoś płaci 100 euro za kompilator Basic-a skoro jest zupełnie darmowy SDCC i krocie do niego przykladów :) ? "Przekonanie" o łatwości lub trudności czegoś jest chyba najtrudniej wykorzenić.
    Według mnie jak komuś podchodzi Bascom i dzięki temu realizuje w czasie i budżecie bezawaryjnie działający projekt to chwała mu za to i niech tak trzyma nie przejmując się złymi opiniami o niskim pochodzieniu tak tworzonego kodu. Lepiej dobrze w Basic-u jak rozpaczliwcem w C, C++, ... . Na końcu translator przetłumaczy Basic na C albo jeszcze coś bardziej pośrednio uniwersalnego by następnie wygenerować kod wynikowy. Takie czasy, wystarczy przeanalizować etapy tworzenia programu w Pascal-u dla GCC albo jak działa LLVM?
  • #68
    tronics
    Level 38  
    Quote:
    Coś tam się dzieje np. R Pi ale idzie to jak po grudzie i nawet Python niewiele popchnął sprawę do przodu

    Tylko po co komu bascom za 100 jak owe klocuszki można poukładać za darmo w Blockly ;)
  • #69
    User removed account
    User removed account  
  • #70
    tronics
    Level 38  
    Quote:
    Basic był zaszyty w kości EPROM

    Wtedy to raczej w ROM lub ewentualnie PROM. EPROM to był np. w final cartridge 3.
    Quote:

    Basic w kompach 8-bit był interpretowany

    A jaki miał być skoro to był jednocześnie system :) Nie wyobrażam sobie by można w ten sposób posługiwać się C, stąd pewnie nikt nawet nie próbował. Pythona wtedy nie było (bo gdyby był to pewnie on by siedział w tych mikrokomputerach).
  • #71
    JacekCz
    Level 39  
    tronics wrote:

    A jaki miał być skoro to był jednocześnie system :) Nie wyobrażam sobie by można w ten sposób posługiwać się C, stąd pewnie nikt nawet nie próbował. Pythona wtedy nie było (bo gdyby był to pewnie on by siedział w tych mikrokomputerach).



    Było C na osmiobitowcach. Zależnie który komputer, taśma magnetofonowa, albo dyskietka, wolny, wieloprzebiegowy, koszmarnie niewygodny.

    Tu dochodzimy do ważnego stwierdzenia: trudno stworzyć realny kompilator języka strukturalnego, czy jeszcze ambitniejszego obiektowego, gdzie kompilacja zachodzi na biednym RAM. Jednym z etapów jest kilkakrotne zbudowanie "drzewa" programu.
    Dlatego sukces odnosiły języki, gdzie program nie posiadał struktury wcale (basic z numerami linii), czy ze struklturą bardzo biedną (dyskutowany w sąsiednim wątku Fortran). W tych językach parsowało się pojedyncza linię i odkładało do pamięci ostatecznej, zwróćcie uwagę kiedy w basicu padał błąd "skok do nieistniejącej linii", jak ktoś rozumie, to wiele wyjaśnia.
    EDIT: chętnym polecam obecny tu wątek o retro-komputerze Cobra, choć bardziej sprzętowy. Miałem "w onym czasie" przyjemność palcami zdisasemblować kod maszynowy (np by potwierdzić, ze instrukcja jest nie do tej wersji)

    (w fortranie bardzo niewiele danych z "drzewa" trzeba było pamiętać, i nie było potrzeby "wyobrażenia sobie" przez kompilator struktur pętli programu - tylko etykieta, która początkowa jest nieznana co do miejsca w kodzie, potem staje się przyporządkowana do komórki kody maszynowego)

    Python ... python jest bardziej kosztownym językiem. Nigdy by nie chodził na 8bit.
    W wersjach 1.x jeszcze nadawał sie do wbudowania, miał stosowną część oficjalnej dokumentacji. Na przykład 90% modułów dało się zrobić bez koncepcji pliku (mozliwy był sandbox czy jail - jako ktoś przemysli sobie import z innego modułu nie będącego plikiem - ciekawe), i dwukrotnie go wbudowałem w chodząca na produkcji aplikację (win 32). Przy przeskoku na wer 2.x posiadł unikod, wszechobecne pliki. Fragment dokumenatcji o "embedded" jeszcze był utrzymywany, ale nie miało to sensu.

    Od wielu lat moim językiem na embeded do C/C++ jest Lua (skutecznie obecna w płytkach uK), wydajnie integrują się TCL-e, Lispy (TCL byłem zmuszony używac, nie lubię).

    EDIT2: oczywiście że interpretowane (plus tokenizacja basica), tylko w formie interpretowanej można było masowemu programiście dać jakie takie bezpieczeństwo kodu.
  • #72
    tronics
    Level 38  
    Quote:
    Było C na osmiobitowcach

    Nie było C na ośmiobitowcach w tej formie. Można było załadować kompilator i bardzo ograniczone IDE, ale nic poza tym. BASIC był i na Atari, i na Amstradzie, i na Commodore, i na Sinclair. Nie wiem co na dobrą sprawę innego mogło być. Ada? Algol? Fortran? LOGO? No tak średnio. Żeby było całkiem śmiesznie można było załadować kompilator BASIC :) Jeśli ktoś dużo w tym programował i potrzebował czegoś szybszego, dającego bardziej zwarty kod wynikowy.
    O ile dobrze pamiętam moją pierwszą lekturę dot. programowania to tam był BASIC (z drobnymi różnicami między mikrokomputerami), LOGO (nie wiem czy któryś mikrokomputer miał go fabrycznie, Commodore nie miało) i PASCAL. W Lua pisałem skrypty do FEMM na studiach, teraz w sumie jeśli gdzieś to do ESP8266. Python jest bardzo przyjemny na SBC. Raz, że można go obsługiwać jak basic wpisując kolejne komendy z natychmiastowym skutkiem, a dwa, że przez SSH nigdy mi się specjalnie przyjemnie nie pisało C w Nano. Inna sprawa, że większość rzeczy które wciągam za pomocą "import" to i tak C lub C++. I pod tymi względami Python byłby wyśmienity do mikrokomputerów CLI-only.
  • #73
    Marek_Ertew
    Level 16  
    Kto piracił? Ja :D
    Zabawę z Bascomem AVR zacząłem od AT90S2313 a skończyłem na ATtiny2313. Po pirata sięgnąłem wyłącznie by skompilować jeden projekt na większy procek i w symulatorze obejrzeć jak to działa.

    Moja zabawa z Bascomem zakończyła się awarią kompilatora. Stare programy przestały się kompilować, a stworzenie nowego i przekopiowanie kodu rozwiązywało problem na kilka dni. Akurat zbiegło się to w czasie z kursem C w EdW (pakiet WinAVR i Programmer's Notepad). Nie żałuję migracji. A Bascom cały czas leży na jednym z laptopów z portem LPT. Używam go jako programator do naprawy fusów. Atmegę169 z kwarcem 32khz i włączonym dzielnikiem zegara przez 128 resetowałem chyba minutę, ale się udało wskrzesić.