Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer ControlsComputer Controls
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

C lub bascom, Java i Pascal - jak ze sobą pogodzić?

31 Jan 2012 22:57 1432 11
  • Level 11  
    Witam, mam pytanie jak w temacie.. Tak się wszystko na siebie nałożyło, że nie wiem od której strony to ugryźć. W szkole uczę się już od września Pascala, mogę w sumie powiedzieć, że coś tam ogarniam go. Jednak wczoraj przyszły mi części do elektroniki, btm222, atmegi itp. i tu pasowałoby nauczyć się albo Bascoma albo C ( no właśnie którego?). Żeby jednak był sens uczyć się Bascoma albo C muszę nauczyć się Javy, żeby napisać program na telefon. Jak to wszystko ze sobą pogodzić? Jest to w ogóle wykonalne? W jakim stopniu trzeba nauczyć się Javy, żeby napisać program który po naciśnięciu/przesunięciu suwaka wyśle komendę na bluetooth terminal? Słyszałem, że C ma trochę wspólnego z Javą, jednak do Bascoma mam więcej przydatnych przykładów, i kod źródłowy do podobnego robota co ja chcę zrobić, więc wystarczyłoby pozmieniać. Proszę o rady, pozdrawiam.
  • Computer ControlsComputer Controls
  • Level 16  
    Od siebie mogę powiedzieć, że lepiej wyjdzie jak teraz nauczysz się C. Ja akurat miałem trochę inaczej czyli w szkole poznawałem Pascala i C/C++ (jako samouk wolałem naukę w domu) a potem natrafiłem na AVR'y i nie było trudno zacząć z nimi zabawę. Ty masz odwrotną sytuację, ale to nie zmienia faktu że jeżeli planowałbyś pisać programy na komputer albo wybrał kierunek informatyczny to C bardziej się przyda. Moim skromnym zdaniem szkoda czasu na Bascoma.
  • Computer ControlsComputer Controls
  • Level 11  
    Doszedłem do podobnego wniosku, ponieważ C ułatwiłby mi naukę Javy. Ponawiam jednak swoje pytanie, w jakim stopniu trzeba opanować Jave, żeby napisać prosty program do obsługi bluetootha? Ile by mi zeszło nauczyć się Javy, tak oczywiście orientacyjnie. (W godzinach)
  • Level 40  
    Manadrake wrote:
    w jakim stopniu trzeba opanować Jave
    W wystarczającym... :D
    Na takie pytanie nikt Ci nie odpowie, bo to jest nie do określenia... Jak jesteś zdolny, "czujesz temat" i znajdziesz na necie gotowy kod który wkleisz do swojego programu, to tyle co kopiuj-wklej + ewentualne przeróbki. A jak hmmm.... programowanie nie jest delikatnie mówiąc Twoim powołaniem... albo od złej strony temat ugryziesz, to i po roku nauki będziesz w punkcie wyjścia.
    Na pewno zanim zabierzesz się za bluetootha na telefon, wypadało by poznać podstawy Javy (na PC), napisać kilka...naście... prostych aplikacji, potem zapoznać się z pisaniem aplikacji na telefon i dopiero wtedy zacząć gnębić bluetootha (pewnie i tak bazując na czyimś kodzie). Skoro dopiero zaczynasz tak z programowaniem jak i elektroniką, to radzę nie łapać trzech srok za ogon i nie rzucać się od razu na głęboką wodę.
  • Level 11  
    Dzięki za odpowiedź. Wiem, że trzeba zacząć od Javy na pc, bo na Androidzie jest pełna Java a nie J2me. Nie spodziewałem się jednak, że napisanie programu do obsługi bluetootha będzie aż tak trudne, skoro ludzie robili roboty i te programy też jakoś im wychodziły. No cóż, pewnie sobie dam na razie spokój. A jak porównujecie trudność Pascala do Javy/C?
  • Level 40  
    Pascal jest już chyba używany przede wszystkim do nauki podstaw programowania - łatwy do ogarnięcia ze względu na lingwistyczną składnię, jednak praktycznie nieprzydatny do robienia "prawdziwych" programów wykraczających poza konsolę, chyba że pójdziesz w takie wywodzące się z Pascala środowiska jak Delphi.

    C (czysty) - znacznie trudniejszy do ogarnięcia, dużo "kombinowania" i "dziubania" jeżeli chce się wykonać coś więcej ponad standardowe funkcje, "zabawa" ze wskaźnikami - osobiście nie lubię, jednak np. do programowania mikrokontrolerów jak znalazł.

    Java - tzw. język wysokiego poziomu - zupełnie odmienna szkoła programowania (język obiektowy) niż Pascal czy C (języki proceduralne). Czy trudniejsza niż C?? Kwestia gustu, po prostu inna i więcej materiału do ogarnięcia... Za to dużo bibliotek z gotowymi rozwiązaniami = mniej kombinowania. O "trudności" języka ciężko pisać - poznanie podstaw może zająć kilka tygodni, ale jakby chcieć dobrze poznać wszystkie biblioteki i funkcje to i 10 lat nie starczy (no, może trochę przesadzam...;P)...

    W zasadzie idąc Pascal -> C -> Java przy każdej zmianie musisz zaczynać od nowa, choć część informacje z innych języków "przechodzi dalej". Niestety, równie często nabyte przy nauce innego języka przyzwyczajenia okazują się mylące / niepotrzebne / błędne w innym języku.

    Myślę, że idziesz dobrym torem - Pascala uczysz się bo musisz, C - do mikrokontrolerów Ci się przyda, a jeżeli chcesz pisać aplikacje na telefon - to Java jest dobrym wyborem. Gdybyś kiedyś w przyszłości chciał się zainteresować pisaniem aplikacji na PC'ta, to polecam C# - język obiektowy wysokiego poziomu podobny do Javy, a wywodzący się z C.
  • Level 11  
    Dziękuję za wyczerpującą odpowiedź. Kolega mi pożyczy jutro książke "Język ANSI C" i będę pomału zaczynać. Jak myślicie, nauka C będzie się gryźć z Pascalem? Bo, tak jak napisałeś wcześniej, wiem, że Pascal mi się raczej nie przyda, no ale muszę się go uczyć przez szkołę. Do tej pory nie miałem z nim żadnych problemów i lekcje w szkole oraz 1-2h tygodniowo w domu spokojnie wystarczało żeby nie mieć żadnych problemów. Jednak czy zmienne/pętle itp nie gryzą się ze sobą w znaczny sposób? Bo jakieś tam nawyki z Pascala już mi się wyrobiły, trochę programów napisałem.
  • Helpful post
    Level 32  
    Pascal może stanowić pewien problem przy nauce C, jeżeli za bardzo przywiązałeś się do jego składni. Jest w nim kilka elementów, które, chociaż kosmetyczne, potrafią utrudnić życie przy przeskokach między językami. Przykładowo operatorem przypisania w C jest =, co w Pascalu jest porównaniem i wtedy jeśli w C przez pomyłkę napiszesz:
    Code: C
    Log in, to see the code

    to nie dość, że będzie to składniowo poprawne, to wygeneruje poważny i potencjalnie trudny do wykrycia błąd w działaniu. W powyższym przypadku nastąpi przypisanie wartości 3 do zmiennej, zostanie ona użyta jako warunek instrukcji if, a w C wartości niezerowe są z automatu logiczną prawdą, więc niezależnie od wcześniejszej wartości zmiennej wykona się się kod wewnątrz if.

    Może to brzmieć przerażająco, ale nie przejmuj się tym teraz. Trzeba być po prostu tego świadomym, bo takie błędy prędzej lub później będziesz popełniać, jeżeli piszesz jednocześnie w Pascalu. Ostatnio dla koleżanki napisałem kilkanaście programów w Pascalu i ciągle walczyłem z tym przypadkiem.

    Nie możesz porozmawiać z nauczycielem, czy nie zgodziłby się na to, żebyś osobno uczył się C zamiast Pascala jak reszta? Jeżeli to porządny nauczyciel, to bez wahania na coś takiego pozwoli. Niestety takich bardzo mało w polskim szkolnictwie.
  • Level 11  
    McMonster, dzięki za odpowiedź. Mam jeszcze jedno pytanie, jaki język będzie mi się mniej mylił z tym Pascalem? Bascom czy C? Bo zdecydowałem, ze Javę sobie na razie daruje, aż skończę Pascala w szkole.
  • Level 32  
    Zaczynasz schodzić z dobrego kursu, zostań przy C, Bascom to ślepy zaułek.
  • Level 11  
    Sam nie wiem czy jest uczyć się C, na informatykę i tak na studia nie pójdę, chodzi mi bardziej o zastosowanie hobbystyczne. A, że chciałbym jak najszybciej zacząć chyba jednak zacznę od Bascoma (z tego co przeglądałem składnia wydaje się prostsza) Jednak ponawiam pytanie, który mi mniej namiesza w Pascalu?
  • User removed account