Skocz do zawartości

Assembler jako pierwszy język programowania uC?


Adamos

Pomocna odpowiedź

Pomyślmy o kilku sprawach:

1. Czytelność

2. Dostępność przykładów i dokumentacji

3. Przenośność

4. Optymalizacja

ad.1.

Tutaj królują rozwiązania oparte o Basic i Pascal, co powoduje, że Bascom jest taki popularny. C jest mniej czytelny, ale daje radę. Zresztą Arduino będące mutacją (nakładką na) C zbliżające do tamtych języków. Programy w tych językach - o ile programista nei namieszał albo nie robił "magii" może czytać osoba nie znająca języka.

Jest jeszcze Java - bardzo rzadko na mikrokontrolerach, częściej robiona programowo, chociaż wiele ARMów pozwala na rozwiązanie mieszane. Szczegółów nie znam, ale efektem jest to, że na słabym procesorze nie muli tak jak można by tego oczekiwać.

A Asm? Aby był czytelny musi być okupiony masą komentarzy, kodu nie da się tak łatwo czytać bez nich jak w C, a co dopiero Basic/Pascal.

ad.2.

Tutaj króluje C, a dla AVRów silne są jeszcze Basic (Bascom) oraz Arduino-C. Asm można najwyżej znaleźć w przykładach w dokumentacji. Dla innych procesorów nawet tego nie ma - C ma niemal monopol.

ad.3.

Odpowiednio napisany kod w C przeniesiesz niemal w całości (definicje hardware się zmienią), w ASM tylko wewnątrz grupy procesorów, które będą miały te same instrukcje (+ oczywiście trzeba zmienić wszelkie odwołania do sprzętu). Tym samym taka trochę lipa. Ciekawostka: AtmelStudio umożliwia przenoszenie kodu nawet między ARM, AVR i AVR32 😃

ad.4.

I tutaj gwóźdź programu - niestety, ale kod w C zoptymalizujesz lepiej - tam gdzie masz zależności typu "operacja wykonana w kolejnym takcie" można użyć wstawki assemblerowej (lub odpowiedniej sztuczki z C - jest ich masa) - ale takie rzeczy akurat zwykle są podane w dokumentacji albo idzie łatwo znaleźć (zresztą są dość proste). A Kompilator naprawdę potrafi działać cuda, czasami aż go trzeba pilnować 🙂 Zresztą elementem optymalizacji jest też umiejętne używanie wyklętego "goto" 😃 w sytuacjach, kiedy my wiemy co można przeskoczyć a kompilator mógłby nie wiedzieć.

Pominąłem oczywiście języki specjalistyczne, mało popularne lub po prostu "wymarłe".

  • Lubię! 1
Link do komentarza
Share on other sites

Adamos, sugeruję ci odrobinę pokory. Polecanie komukolwiek asemblera jako pierwszego języka do nauki programowania to najkrótsza droga do zniechęcenia tej osoby. Osoba, która się zaczyna uczyć oczekuje efektów w krótkim czasie, a tego asembler nie da.

Dlatego ja z uporem maniaka będę każdemu polecał Bascoma, jest to bardzo prosty język, bardzo popularny, przez co jest ogromna ilość przykładów. Bardzo szybko daje efekty, wyświetlenie czegokolwiek na lcd alfanumerycznym to raptem jedna linijka kodu (nie licząc 1 linijki na konfigurację pinów lcd i 2 czy 3 na konfigurację procka), założę się, że żeby zrobić to samo w asemblerze musiałbym uczyć się go co najmniej z pół roku 😋. A wierz mi, że nie tego każdy oczekuje.

  • Lubię! 2
Link do komentarza
Share on other sites

wyświetlenie czegokolwiek na lcd alfanumerycznym to raptem jedna linijka kodu (nie licząc 1 linijki na konfigurację pinów lcd i 2 czy 3 na konfigurację procka), założę się, że żeby zrobić to samo w asemblerze musiałbym uczyć się go co najmniej z pół roku 😋 . A wierz mi, że nie tego każdy oczekuje.

Można pójść jeszcze bardziej na skróty i kupić gotowy zestaw uruchomieniowy, po czym załadować gotowy program dołączony do tego zestawu. Efekty będą oszałamiające, a początkujący programista z pewnością bardzo dumny z siebie co zachęci go do dalszej owocnej pracy przy szukaniu gotowych programów w sieci.

Może się powtarzam, ale nie widzę sensu dalszej rozmowy z wami.

Link do komentarza
Share on other sites

Gadasz od rzeczy.

To że nie znalazłeś nie oznacza że nie ma takiej wypowiedzi. Bee to oczywiście przenośnia, ale możemy tak w nieskończoność łapać się za słówka.

To mi zacytuj. Bee też użyłem jako przenośni.

Sabre napisał/a:

wyświetlenie czegokolwiek na lcd alfanumerycznym to raptem jedna linijka kodu (nie licząc 1 linijki na konfigurację pinów lcd i 2 czy 3 na konfigurację procka), założę się, że żeby zrobić to samo w asemblerze musiałbym uczyć się go co najmniej z pół roku 😋 . A wierz mi, że nie tego każdy oczekuje.

Można pójść jeszcze bardziej na skróty i kupić gotowy zestaw uruchomieniowy, po czym załadować gotowy program dołączony do tego zestawu. Efekty będą oszałamiające, a początkujący programista z pewnością bardzo dumny z siebie co zachęci go do dalszej owocnej pracy przy szukaniu gotowych programów w sieci.

Jeśli dla kogoś jest w pełni satysfakcjonujące wgrywanie gotowców to czemu nie? I tu dochodzimy do sedna: uczysz się i korzystasz w pierwszej kolejności z tego, co ci jest w danej chwili potrzebne (no chyba że to szkoła). ASM nie jest raczej pierwszą potrzebą odbiorców tej książki.

Może się powtarzam, ale nie widzę sensu dalszej rozmowy z wami.

https://www.youtube.com/watch?v=nnLYaSfo7n0

Nie musisz, udowodniłeś już że to nie "niechęć" skłania cię do zaprzestania dyskusji, a brak solidnych argumentów.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Adamos, masz po części rację (co potwierdziłem w swoim poprzednim poście - nie wiem, czy go czytałeś), ale oceniasz innych swoją miarką.

Tak, zaczynając od Asm programista będzie dużo bogatszy w wiedzę o wewnętrznym działaniu sprzętu, być może będzie go wykorzystywał wydajniej i stanie się jednym z lepszych po dłuższym czasie.

Ale zaczynając od C (czy nawet tfu tfu Bascoma) jest większa szansa, że się nie zniechęci. A jeśli już dobrze opanuje C, to jest większa szansa, że sięgnie po Assemblera jeśli program będzie wymagał nadzwyczajnej wydajności. I nie zrazi się tak szybko bo będzie już sporo kumał w temacie.

Pytanie czy lepiej mieć dwóch wyśmienitych programistów czy 20 dobrych?

Obie strony mają rację, więc wsypcie sobie bromu do herbaty i wyluzujcie. Mamy sobie pomagać, a nie skakać do oczu. To nie święta wojna w stylu Win vs. Lin.

Link do komentarza
Share on other sites

Można pójść jeszcze bardziej na skróty i kupić gotowy zestaw uruchomieniowy, po czym załadować gotowy program dołączony do tego zestawu. Efekty będą oszałamiające, a początkujący programista z pewnością bardzo dumny z siebie co zachęci go do dalszej owocnej pracy przy szukaniu gotowych programów w sieci.

Może się powtarzam, ale nie widzę sensu dalszej rozmowy z wami.

1. Nie ograniczaj swoich horyzontów.. rozmowa może być ciekawa, tylko nadal nie podałeś żadnych ARGUMENTÓW, a pyskówek tutaj nie lubimy. Kolejny taki komentarz to już będzie tylko trollowanie...

2. Co jest złego w zestawach uruchomieniowych?

a) Niektórzy ludzie mogą się nie interesować za bardzo elektroniką i bardziej chcą się rozwijać od strony mechanicznej i/lub programistycznej. Gotowy zestaw pozwala im bezboleśnie wejść w świat embedded

b) Mam wieloletnie doświadczenie i jak sięgam po nową rodzinę procesorów najczęściej sięgam po... zestaw uruchomieniowy!

- w jeden dzień (czas przesyłki) mogę rozpocząć pracę z wybranym procesorem

- zestaw często posiada wiele dodatków i/lub można go łatwo rozbudować co umożliwia szybkie prototypowanie.

- no i najważniejsze - zestaw na 100% jest działający, więc nie zrobię błędu przy lutowaniu i/lub projektowaniu płytki, więc jak coś nie działa to jest to wina kodu - to też ogromne ułatwienie jak nie musisz szukać błędu w 100 miejscach.

- zestaw często jest z bootloaderem/programatorem dzięki czemu jego koszt najczęściej jest niski w porównaniu z projektowaniem wszystkiego samemu i kupowaniem programatora - że o spędzonym na to czasie nie wspomnę.

3. Gotowe kody na początku też nie są niczym złym. Zestawy uruchomieniowe je mają - można sprawdzić ich działanie i wiele się z nich nauczyć.

Do tego kto nie zaczynał programowania od przepisywania kodu z gazet (stare dzieje), albo ściągania go z internetu itd.?

4. No i assembler... mój ukochany assembler... którego z różnych przyczyn nie używałem od przeszło 10 lat (a znam go dla kilku rodzin procesorów, nawet dla ZXa przeczytałem książkę do assemblera nie mając tego procesora - dla zabawy). Jedyne do czego mi się teraz przydaje to spojrzenie na tablicę intów i sprawdzenie czy wszystkie przerwania są poprawnie zainicjalizowane i nie robią skoku do resetu.

Prawda jest jedna taka, że 99% programistów nigdy nawet nie zbliży się do assemblera. W szczególności dotyczy to hobbystów, którym nie zależy zazwyczaj na każdym 0,01% mocy, tylko na budowie czegoś konkretnego. Co więcej większość takich ludzi potrzebuje zbudować dokładnie urządzenie X i całe programowanie jest dla nich tylko narzędziem, żeby zrealizować rozwiązanie.

Dla takich ludzi jest chociażby arduino - praktycznie nie mając pojęcia o programowaniu można sobie zrobić świecące lampki czy prostego line-followera. Ile Tobie zajmie nauczenie kogoś assemblera na tyle, żeby mógł napisać taki kod? Zdołasz utrzymać jego motywację przez ten czas?

Moim zdaniem każdy DOBRY programista powinien mieć pojęcie o budowie komputera i działaniu procesora... niekoniecznie nawet o samym assemblerze. Pozwoli to ominąć niektóre karygodne błędy w pisaniu kodu, które potrafią sprowadzić do parteru nawet najnowsze procesory.

Dla hobbysty czy nawet przeciętnego programisty ta wiedza jest już zbyteczna - jak będzie jej naprawdę potrzebował ten raz na rok to przyjdzie do profesjonalisty.

Osobiście natomiast nie polecałbym Bascoma czy Pascala - to są języki praktycznie wymarłe i szkoda się ich uczyć. C nie jest trudniejszy i z biblioteką typu arduino można w niego wejść jak w masło, a potem łatwo można rozwijać swoje umiejętności i/lub przenosić wiedzę na inne środowiska.

Reasumując, Assembler jest już w tej chwili tylko sztuką dla sztuki. Jak kogoś interesują wyniki (poza jakimiś najmniejszymi procesorami, których nikt nie będzie używał poza masową produkcją, bo lepiej dorzucić 0,5$ i mieć dużo większe możliwości) to w dowolnym języku wysokiego poziomu uzyska je dużo szybciej, a dodatkowo poświęcając czas na algorytm a nie bawienie się w kod maszynowy całe urządzenie będzie lepiej funkcjonowało.

  • Lubię! 1
Link do komentarza
Share on other sites

No dobra mam przerwę na kawę.....

Widzę że umiejętność czytania ze zrozumieniem powinna być jednym z punktów regulaminu na tym forum.

Co jest złego w zestawach uruchomieniowych?

Czy ja powiedziałem że w zestawach jest coś złego ? Rozumiesz co czytasz wogóle ? Napisałem że kolejnym "ułatwieniem" dla niecierpliwego przyszłego programisty ktrego nadzwyczaj łatwo zniechęcić jest zakup gotowego zestawu i załadowanie gotowego programu ! dzizassss !!

Zestawy uruchomieniowe są bardzo dobrym rozwiązaniem z którego i ja korzystam ! Ale bez przesady z tym niańczeniem rozwydrzonego przyszłego programisty. Jeśli nie potrafisz się zmobilizować zawsze możesz pić piwo albo grać w piłkę pod blokiem. W pracy czy na studiach też tak mówisz ? "Szefie/Profesorze nie zrobię tego bo mnie to zniechęca i jest za trudne"

Assembler jest już w tej chwili tylko sztuką dla sztuki

Chyba żartujesz sobie.

Prawda jest jedna taka, że 99% programistów nigdy nawet nie zbliży się do assemblera.

Skąd te dane ? 99% a nie 96% ?

Do tego kto nie zaczynał programowania od przepisywania kodu z gazet (stare dzieje), albo ściągania go z internetu itd.?

Wyobraź sobie że ja.

Jeśli dla kogoś jest w pełni satysfakcjonujące wgrywanie gotowców to czemu nie?

Poważnie tak sądzisz ? I to był wątek główny ?

Pytanie czy lepiej mieć dwóch wyśmienitych programistów czy 20 dobrych?

A wolisz mieć 1 dobry samochód czy 20 zepsutych ? Lepiej raz dobrze naprawić telewizor czy 20 razy poprawiać ?

Obie strony mają rację, więc wsypcie sobie bromu do herbaty i wyluzujcie. Mamy sobie pomagać, a nie skakać do oczu. To nie święta wojna w stylu Win vs. Lin

Tu się z Tobą zgadzam to nie jest wojna win vs lin , poprawka to nie powinna być taka wojna, chodź jak widać KD 93 i OldSkull sądzą inaczej.

Poza tym widzę, że ograniczacie się tylko do tego forum. Poczytajcie co sądzą ludzie o wyborze języka programowania na innych forach.

I powtarzam kolejny raz ASM to moja ocena subiektywna.

Pozdro600

Link do komentarza
Share on other sites

Skoro już mnie cytujesz, to znaczy że czytałeś mojego poprzedniego posta, nie odpowiedziałeś na moje pytanie, za to po kryjomu dolewasz oliwy do ognia, w celu wywołania kłótni. Po raz kolejny nie podałeś solidnych argumentów dlaczego pierwszym językiem powinien być ASM, nie podpierasz się niczym innym prócz własnego "widzimisię". Na tym pragnę zakończyć mój udział w dyskusji.

Link do komentarza
Share on other sites

Pytanie czy lepiej mieć dwóch wyśmienitych programistów czy 20 dobrych?
A wolisz mieć 1 dobry samochód czy 20 zepsutych ? Lepiej raz dobrze naprawić telewizor czy 20 razy poprawiać ?
Sęk w tym, że programista C to nie uszkodzony (bo zepsuta to może być zupa i wtedy śmierdzi) samochód. To nadal sprawny samochód tylko mający 230 na liczniku zamiast 300. A jeśli w planach jest jazda na drogach z ograniczeniem 100, to maksymalna prędkość traci na znaczeniu.
Obie strony mają rację, więc wsypcie sobie bromu do herbaty i wyluzujcie. Mamy sobie pomagać, a nie skakać do oczu. To nie święta wojna w stylu Win vs. Lin

Tu się z Tobą zgadzam to nie jest wojna win vs lin , poprawka to nie powinna być taka wojna, ORT! jak widać KD 93 i OldSkull sądzą inaczej.

Poza tym widzę, że ograniczacie się tylko do tego forum. Poczytajcie co sądzą ludzie o wyborze języka programowania na innych forach.

Czy największe forum programistyczne w Polsce jest dobrym miejscem? Bo tak się składa, że od ponad 10 lat jestem tam administratorem i coś niecoś o programowaniu wiem 😉

Z innej beczki może:

Już za czasów studiów powtarzałem jak mantrę, że należy wybrać odpowiednie narzędzie (język) do danego zadania. Niewiele osób to wówczas rozumiało.

Prosty przykład:

Uczono nas różnych narzędzi i języków w tym C/C++ i Matlaba. Akurat C był mocno używany w danym semestrze i dostaliśmy zadanie polegające głównie na sporych operacjach na macierzach. Narzędzie dowolne. Nie pamiętam czy byłem jedynym czy może jeszcze jedna osoba wybrała Matlaba (przerabianego rok wcześniej). 30 osób wybrało C. Ich kod to były setki linijek, głównie funkcje mnożące macierze, liczące wyznaczniki etc. Łatwo o pomyłkę, o wyciek pamięci przy generowaniu wielowymiarowych tablic. Po tygodniu ciężkiej pracy mieli "framework", który wykorzystali by rozwiązać zadanie.

Mój program w Matlabie miał ok. 10 linijek i robił dokładnie to samo. Podawał prawidłowy wynik dla danego zadania.

Wracając do tego czy Asm jest zawsze lepszy od C? Moim zdaniem nie. W powyższym przykładzie może i program w C był szybszy.. może nawet dwa razy, nie wiem, nie mierzyłem. Ale mając wytyczone warunki zadania przeanalizowałem wymogi i wybrałem (moim zdaniem) narzędzie najbardziej odpowiednie spośród tych, które znałem.

To samo będzie w przypadku pisania programu na uC. Jeśli rozmiar albo szybkość będą priorytetem, być może sięgnę po Asm (choć akurat tego dla atmegi niezbyt znam, ale mniejsza z tym). Jeśli priorytetem jest mój czas i zadowoli mnie program o 5% wolniejszy od wersji assemblerowej - wybiorę C.

Najlepiej znać wiele opcji i zawsze wybierać najodpowiedniejszą. To jest najważniejsza cecha dobrego inżyniera.

Link do komentarza
Share on other sites

Mogę Tobie tylko pogratulować. Z mojego tekstu na dobrą stronę wyrwałeś 3 zdania - resztę zupełnie ignorując. Mimo tego nawet tych 3 wypowiedzi nie obaliłeś żadnymi faktami...

Widzę że umiejętność czytania ze zrozumieniem powinna być jednym z punktów regulaminu na tym forum.

Co jest złego w zestawach uruchomieniowych?

Czy ja powiedziałem że w zestawach jest coś złego ? Rozumiesz co czytasz wogóle ? Napisałem że kolejnym "ułatwieniem" dla niecierpliwego przyszłego programisty ktrego nadzwyczaj łatwo zniechęcić jest zakup gotowego zestawu i załadowanie gotowego programu ! dzizassss !!

Zestawy uruchomieniowe są bardzo dobrym rozwiązaniem z którego i ja korzystam ! Ale bez przesady z tym niańczeniem rozwydrzonego przyszłego programisty. Jeśli nie potrafisz się zmobilizować zawsze możesz pić piwo albo grać w piłkę pod blokiem. W pracy czy na studiach też tak mówisz ? "Szefie/Profesorze nie zrobię tego bo mnie to zniechęca i jest za trudne"

Nikt tak nie mówi. Nie zmienia to faktu, że dobiera się narzędzie do zadania i oczekiwań. Assembler w 99% tych zadań jest złym, lub wręcz fatalnym, wyborem.

Spójrz na nazwę forum - "Forbot - robotyka amatorska". Żaden amator / hobbysta nie będzie się bawił w wymyślanie koła. Nam zależy na wynikach a nie na drodze do nich, a assembler to wyjątkowo wyboista droga. Jak w kilka godzin mogę ściągnąć jakąś bibliotekę do rozpoznawania mowy i nauczyć się ją obsługiwać, albo odpalić openCV i zacząć wyciągać sensowne dane z kamerki USB to jaki sens ma dla mnie bawienie się w assemblerze?

To tak jak budując mechanikę robota postawiłbym sobie za cel własnoręcznie wykonać wszystkie śruby, nakrętki itd. Jak to jest Twoje hobby to proszę bardzo... , ale jak budujesz robota to jest to idiotyczne marnowanie czasu.

Assembler jest już w tej chwili tylko sztuką dla sztuki

Chyba żartujesz sobie.

Chyba nie. Udowodnij mi, że jest inaczej. W ilu % ogłoszeń o pracę dla programisty assembler jest wymagany? W ilu % jest to JEDYNY wymagany język?

Poza bardzo specyficznymi miejscami (np. mikrokontrolery o ramie wielkości <100bajtów) assembler to dodatek pomagający przy debugowaniu, albo naprawdę ostatniej linii optymalizacji kodu.

PS. praca.money.pl , programista - 77 stron z wynikami, assembler - 1 strona. Dodatkowo w żadnym ogłoszeniu o assemblerze nie znalazłem, żeby był to jedyny wymagany język. Wymagany jest C, a assembler to często tylko przydatny dodatek i wymagana zaledwie podstawowa znajomość.

Prawda jest jedna taka, że 99% programistów nigdy nawet nie zbliży się do assemblera.

Skąd te dane ? 99% a nie 96% ?

Nie ma znaczenia czy podamy tu 95% czy 99%. Ma znaczenie, że assembler jest względnie rzadko używanym językiem (patrz punkt wyżej na temat pracy) i jak ktoś nie celuje w konkretne miejsce (np. low-level firmware development) to może sobie spokojnie podarować jakąkolwiek znajomość assemblera.

Link do komentarza
Share on other sites

Wracając do tego czy Asm jest zawsze lepszy od C? Moim zdaniem nie. W powyższym przykładzie może i program w C był szybszy.. może nawet dwa razy, nie wiem, nie mierzyłem. Ale mając wytyczone warunki zadania przeanalizowałem wymogi i wybrałem (moim zdaniem) narzędzie najbardziej odpowiednie spośród tych, które znałem.

Najśmieszniejsze jest to, że są biblioteki do C, które pozwalają na pisanie w sposób prawie Matlabowy i one dbają o całą resztę 🙂

Marooned napisał/a: Pytanie czy lepiej mieć dwóch wyśmienitych programistów czy 20 dobrych?

A wolisz mieć 1 dobry samochód czy 20 zepsutych ? Lepiej raz dobrze naprawić telewizor czy 20 razy poprawiać ?

Podzielam zdanie Marooned, tylko uważam, że dał złą skalę. Asm pojedzie 300km/h, C 270km/h - ale o ile trzeba bardziej uważać, przy budowie takiego auta. Ale wypróbujesz je tylko na torze wyścigowym. Jak wytłumaczysz popularność Javy, która w tym przykładzie pojedzie góra 140km/h? A no tym, że komputery są coraz szybsze, a systemy coraz bardziej skomplikowane - jeśli napisanie czegoś w ASM zajmie 4x tyle czasu co w C, to tylko kawałki krytyczne czasowo (o ile w ogóle) będą pisane w ASM, bo czas to pieniądz. Zresztą... obecne kompilatory są naprawdę dobre, tworzą bardzo krótki, zwięzły i szybki kod maszynowy.

Tu się z Tobą zgadzam to nie jest wojna win vs lin , poprawka to nie powinna być taka wojna, chodź jak widać KD 93 i OldSkull sądzą inaczej.

Poza tym widzę, że ograniczacie się tylko do tego forum. Poczytajcie co sądzą ludzie o wyborze języka programowania na innych forach.

I powtarzam kolejny raz ASM to moja ocena subiektywna.

Jeśli subiektywna to w czym problem? Ja uważam, że ASM jest zły na pierwszy język, najwyżej się go można douczyć potem - bo obecnie jest uzupełnieniem a nie podstawą. I bywam często na innych forach (raczej czytam niż piszę, ale bywam) i z nich bardziej mnie interesuje kwestia "C++ na mikrokontrolerach" niż ASM, który bardzo rzadko się pojawia.

Najlepiej znać wiele opcji i zawsze wybierać najodpowiedniejszą. To jest najważniejsza cecha dobrego inżyniera.

Dokładnie! Ale nie zapominajmy też, że to się zaczyna już na etapie wyboru komponentów i środowiska.

Chyba nie. Udowodnij mi, że jest inaczej. W ilu % ogłoszeń o pracę dla programisty assembler jest wymagany? W ilu % jest to JEDYNY wymagany język?

Poza bardzo specyficznymi miejscami (np. mikrokontrolery o ramie wielkości <100bajtów) assembler to dodatek pomagający przy debugowaniu, albo naprawdę ostatniej linii optymalizacji kodu.

PS. praca.money.pl , programista - 77 stron z wynikami, assembler - 1 strona. Dodatkowo w żadnym ogłoszeniu o assemblerze nie znalazłem, żeby był to jedyny wymagany język. Wymagany jest C, a assembler to często tylko przydatny dodatek i wymagana zaledwie podstawowa znajomość

Pisałem o tym, zignorował.

Niestety, ale nie zapominajmy o jednym - hobby to hobby, ale jeśli robimy się w czymś naprawdę dobrzy w wieku szkolnym, to warto iść tą drogą dalej i przekuć to w zawód. A zawodowo jak widać assemblera prawie nikt nie wymaga. Przy mikrokontrolerach króluje C, w programowaniu jego liczne kuzynostwo i potomstwo (Java, C#, C++), którego łatwiej się nauczysz znając C (łatwiej w tą niż drugą stronę).

Link do komentarza
Share on other sites

PS. praca.money.pl , programista - 77 stron z wynikami, assembler - 1 strona. Dodatkowo w żadnym ogłoszeniu o assemblerze nie znalazłem, żeby był to jedyny wymagany język. Wymagany jest C, a assembler to często tylko przydatny dodatek i wymagana zaledwie podstawowa znajomość.

hahaha ty za to nie wyrywasz moich słów z kontekstu. Mówisz o pracy podczas gdy post dotyczy początkującego programisty hobbysty, który ma się podobno zaznajamiać i bawić. Piszesz i wyciągasz to co ci pasuje w danym momencie.

Jeśli subiektywna to w czym problem? Ja uważam, że ASM jest zły na pierwszy język, najwyżej się go można douczyć potem - bo obecnie jest uzupełnieniem a nie podstawą. I bywam często na innych forach (raczej czytam niż piszę, ale bywam) i z nich bardziej mnie interesuje kwestia "C++ na mikrokontrolerach" niż ASM, który bardzo rzadko się pojawia.

Problem w tym że krytykujesz coś o czym masz 1% pojęcie - "dane na podstawie twoich wyliczeń 99%" - sorry nie twoich a MirkaCZ

A zawodowo jak widać assemblera prawie nikt nie wymaga

śmiechu warte. To tak jak byś powiedział że nikt nie wymaga umiejętności czytania i pisania. No fakt nie wymagają bo to jest oczywiste.

Ja uważam że warto widzieć trochę więcej. Jeśli wymaganiem jest znajomość C to z pewnością dodatkowa znajomość ASM nie zaszkodzi a wręcz pozytywnie przełoży się na wyniki w pracy, jeśli już poruszamy temat pracy w tym zawodzie.

Link do komentarza
Share on other sites

PS. praca.money.pl , programista - 77 stron z wynikami, assembler - 1 strona. Dodatkowo w żadnym ogłoszeniu o assemblerze nie znalazłem, żeby był to jedyny wymagany język. Wymagany jest C, a assembler to często tylko przydatny dodatek i wymagana zaledwie podstawowa znajomość.

hahaha ty za to nie wyrywasz moich słów z kontekstu. Mówisz o pracy podczas gdy post dotyczy początkującego programisty hobbysty, który ma się podobno zaznajamiać i bawić. Piszesz i wyciągasz to co ci pasuje w danym momencie.

Nie wiedziałem, że cytowanie całych Twoich ostatnich wypowiedzi jest wyciąganiem co mi pasuje.

Jak masz za mało statystyk to jeszcze statystyki pola "programuję w" z tego forum - czyli osób nam najbliższych.

Tylko wpisany Assembler - ~17 osób

Assembler + inne języki (najczęściej C/C++) - ~91 osób (+17 sam assembler) - razem 108 osób wpisało znajomość assemblera.

Bascom ok. 300-400 osób (ok. połowa z nich zna dodatkowo inny język, najczęściej C/C++)

C/C++ ma wpisanych ok. 900 osób.

Razem ~1200 użytkowników ma to pole wypełnione.

Czyli tylko assemblera zna ~1,5% użytkowników, jako jeden z języków assemblera zna ~9% użytkowników, a jako jeden z języków C/C++ zna ~75% użytkowników.

To pokazuje jaka jest popularność assemblera w naszym gronie.

Link do komentarza
Share on other sites

Nie tylko: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Adamos, możesz myśleć co chcesz, ale rzeczywistość jest taka że w asemblerze pisz się długo, co niesie duże koszty. Dodatkowym minusem może być zagrożenie że konkurencyjna firma wypuści podobny produkt przed nami, oprogramowany w języku wysokiego poziomu.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.