kategoria: ANSI C
[#1] Wziąłem się za C# i potrzebuje pomocy
Witam. Znowu po raz 84789 biorę się za naukę programowania :) Tym razem wybór padł na C#. Generalnie jest dla mnie dużo trudniej niż w amosie.

Na początek pobrałem sobie na amidze cubic ide a na pececie visual studio 2012. Visual od razu został odinstalowany bo na moim lapku działa koszmarnie wolno. Ściągnołem sobie więc ppa6 gdzie jest pierwszy odcinek kursu c++. Za rada artykułu pobrałem sobie visual strudio 2005. To już działa szybko na lapku. Niestety instrukcja konfiguracji tego pakietu aby generował kod dla 68k mnie przerosła więc dałem se siana. Przystąpiłem do generowania nieśmiertelnego hello world. No i zonk. Latam po sieci szukam kursów dla newbie, patrzę uważnie czy to jest kurs dla c# czy c++. Mam dla C parę kurósw w każdym sa zupełnie inne komendy Console.WriteLine albo System.Console.WriteLine. co stosować? Patrze na ppa jest kurs c# a tam jeszcze inne komendy. O co kaman? Mi się wydawało, że język jest jeden i można pod nim programować a tutaj wychodzi, że jest kilka wersji nawet na pc.



Benedykt Dziubałtowski
[#2] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #1

to jest ta sama funkcja prawdopodobnie jeżeli używasz Console.WriteLine() wcześniej importujesz przestrzeń nazwa system "using System" . Odwołując się poprzez System.Console.WriteLine() odwołujesz się bezpośrednio bez użycia "using System".

Co do ilości wersji trzymaj się w miarę nowego sdk. Zakładam, że nie będziesz używał najnowszych fajerwerków. Więc nie przejmuj się mnogością wersji .NET . Co do Mono, jeżeli będziesz miał coś napisać znając już metodykę Microsoftu, w tydzień przestawisz się na tą wersję.

Ostatnia aktualizacja: 17.10.2012 12:00:07 przez sand
[#3] Re: Wziąłem się za C# i potrzebuje pomocy

@sand, post #2

Takie pytanie. Czy pisząc pod visual studio mogę kod przenosić w miarę bezstresowo pod amigę? Zdaję sobie sprawę, że na windzie jest driect x nie ma chi ani picass96 ale np jakieś proste aplikacje tekstowe czy gry tekstowe da się łatwo przenieść na amigę?


Benedykt Dziubałtowski
[#4] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #1

Witam,

Ja trochę się pogubiłem, masz na myśli język C czy C#?

Pozdrawiam
asman
[#5] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #3

na amigę nie ma mono, ani jakiejkolwiek platformy w której można pisać w c# . Więc nic nie przeniesiesz. To typowo windziane rozwiązanie, na linuxie wymiera od czasu braku wsparcia od Novela.
[#6] Re: Wziąłem się za C# i potrzebuje pomocy

@asman, post #4

Hmm. Wyjdę na głupka ale do teraz byłem pewny, ze C i C# to jest to samo....


Benedykt Dziubałtowski
[#7] Re: Wziąłem się za C# i potrzebuje pomocy

@asman, post #4

chyba C# w C nie ma Microsoftowych namespejsów.
[#8] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #6

Jak tak to bierz się za pythona. :) Jest i na MorphOS i na AmigaOS 4 .
[#9] Re: Wziąłem się za C# i potrzebuje pomocy

@sand, post #7

To może inaczej. Czy visual studio do dobry wybór dla mnie? Chciałbym móc się nauczyć programować zarówno pod ami jak i na pececie.


Benedykt Dziubałtowski
[#10] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #6

Na klasyka to tylko C. Na nowe systemy C, C++, a jeśli chodzi o języki skryptowe, to rzuć okiem na Pythona. C# to chyba tylko Windows i nie wiem czy nie na komórki?

W papierowym PPA (nr 6) Asman prowadzi kurs jak wykorzystać Visual Studio do programowania i generowania kodu dla AmigaOS.

Co do Cubic IDE to nie używam, bo mam SDK MorphOS-a i wszystko czego mi trzeba mam w tym.

Ostatnia aktualizacja: 17.10.2012 12:41:13 przez Ender
[#11] Re: Wziąłem się za C# i potrzebuje pomocy

@Ender, post #10

Cubic ide chyba obsługuje c++ vcc czy jak sie zwie ten freeware kompilator tez łapie c++. Albo sie mylę.


Benedykt Dziubałtowski
[#12] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #9

To chyba najlepiej GCC sobie podpiąć pod IDE Visual Studio ? GCC może produkowac binarki zarówno x86 jak i m68k. Zainteresuj się też http://amidevcpp.amiga-world.de/aboutamidevcpp.php?HR_LANG=english który bazuje na http://wxdsgn.sourceforge.net/
[#13] Re: Wziąłem się za C# i potrzebuje pomocy

@zyga64, post #12

Chyba jednak na Windowsie muszę zostać przy visual studio 2005. Visua studio 2010 ma tylko c# a ja potrzebuję C.


Benedykt Dziubałtowski
[#14] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #9

Czy visual studio do dobry wybór dla mnie?


Visual Studio to nigdy nie jest dobry wybór. To jest moja prywatna opinia i pewnie ktoś może się nie zgodzić itp. itd. W papierowym PPA mamy kurs Asmana, z którego jasno wynika, że jak ktoś chce to może użyć VS do pisania na Ami...

Tak naprawdę, to w trakcie kiedy uczysz się programowania używając jakiegokolwiek zintegrowanego środowiska robisz sobie krzywdę. Takie środowiska zbyt dużo rzeczy próbują robić za programiste, w związku z tym nie będziesz rozumiał jak i dlaczego działają pewne rzeczy. Poza tym zwykle mają 6666 funkcji, których nigdy nie użyjesz i zajmują terabajt RAMu.

Sam kompilator i edytor tekstu (najlepiej z podświetlaniem składni) na początek powinny wystarczyć. Wg. mnie zacznij od tego.

Ostatnia aktualizacja: 17.10.2012 13:03:40 przez strim
[#15] Re: Wziąłem się za C# i potrzebuje pomocy

@strim, post #14

Okej. W takim razie możesz mi polecić coś pod windowsa i pod Amigę?


Benedykt Dziubałtowski
[#16] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #15

Osobiście nie używam Windowsa, więc nie wiem czy moja odpowiedź będzie wyczerpująca. Jeśli chodzi o kompilator, to ja osobiście używam VBCC do celów Amigowych i GCC do wszystkich innych.

Gdybyś chciał mieć dokładnie taki sam kompilator we wszystkich kombinacjach, tj:
  • kompilacja na windows dla windows
  • kompilacja na windows dla amigi
  • kompilacja na amidze dla amigi


To pewnie najlepiej byłoby użyć GCC, bo są takie gotowe środowiska, nie trzeba ich przygotowywać samemu (GeekGadgets dla Amigi, MinGW+MSYS dla Windows, czy kross kompilator Windows-Amiga z zerohero.se).

Z tego co wiem VBCC nie potrafi generować kodu wykonywalnego natywnego dla Windows. Za to trzeba przyznać, że instalacja VBCC na Amidze jest znacznie prostsza, sprowadza się do uruchomienia dwóch skryptów Installera.

Jeśli chodzi o edytor dla Windows z podświetlaniem składni to widziałem, że ludzie używają czegoś takiego jak Notepad++.


Ostatnia aktualizacja: 17.10.2012 13:43:07 przez strim
[#17] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #1

Ja tylko dodam, że C, C++ i C# to trzy różne języki.

Jeżeli chcesz atakować na Amigę (zakładam, że klasyczną) to wiedz, że:
  • C# jest rozwiązaniem dostępnym wyłącznie na Windows. Były próby niezależnego przeniesienia tego języka na Linuksa, ale jak pisał strim, skończyły się praktycznie fiaskiem.
  • C++ to język na wszystkie popularne platformy. Niemniej na Amigę klasyczną jedynym sensownym jego kompilatorem jest GCC. Jedyną sensowną wersją tego kompilatora jest 2.95.3, a jest to wersja bardzo stara i implementacja C++ w nim mocno już odstaje od aktualnego standardu.
  • C jest klasycznym językiem proceduralnym, również na wszystkie popularne (i niepopularne, kompilatory C są nawet na ośmiobitowce) platformy. C++ jest w pewnym sensie jego rozszerzeniem o obiektowość. Ponieważ w C niewiele w sumie się zmieniło, GCC 2.95.3 dla klasyka spokojnie daje radę.

Moja osobista sugestia jest taka. Jeżeli chcesz pisać tylko pod Windowsa i na tym golić kapuchę, C# jest nienajgorszym wyborem. Jeżeli chcesz pisać głównie komercyjnie, ale nie ograniczać się do technologii Microsoftu, przy okazji mając możliwość skompilowania czegoś czasem na Amigę, to ucz się C++. Jeżeli chcesz pisać zwarte i efektywne programy przede wszystkim na Amigę, zwłaszcza klasyczną, atakuj C.
[#18] Re: Wziąłem się za C# i potrzebuje pomocy

@strim, post #14

W moim kursie Visual Studio jest właśnie używany jako edytor tekstu, który ma właśnie podświetlanie składni + intelisense ( czyli podpowiadaczka ). Mi intelisense pomaga, w tym sensie, że nie muszę pamiętać dokładnie nazwy funkcji czy zmiennej, wystarczy że pamiętam mniej więcej. Z pewnością minusem jest waga Visuala ( czyli to ile zajmuję miejsca - zarówno na dysku jak i w RAMie).
[#19] Re: Wziąłem się za C# i potrzebuje pomocy

@strim, post #16

Tak, zgadza się Notepad++ dysponuje podświetlaniem składni, chociaż pod win7 x64 niemiłosiernie długo się odpala, ale trzeba przyznać, że spełnia swoje zadanie. Najlepiej w tym wypadku użyć DevCpp w połączeniu z cross kompilatorem, czyli AmiDevCpp. Zintegrowane środowisko dla każdego początkującego, zawiera edytor i można przygotować to IDE do generowania binarek pod 68k. Zajęcia z C++ na tym środowisku wspominam dobrze, ale samo programowanie nie aż tak bardzo... :P
[#20] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #15

Wysłałem Ci paczkę ( w zasadzie to są dwie paczki ) z instrukcją jak u mnie to działa i jak w prosty sposób można uskuteczniać właśnie kompilację skrośną. W razie pytań, pisz na mejla bądź w tyn wątku.

Dodane: Druga paczka to sławny hello world jako projekt w Visualu 2005.

Ostatnia aktualizacja: 17.10.2012 14:31:32 przez asman
[#21] Re: Wziąłem się za C# i potrzebuje pomocy

@asman, post #20

Asman czy w visual expres mogę tworzyć programy dla czystego C? czy tylko C#. Bawię się tym i wygląda bardzo fajnie, podświetlanie składnie, funkcje o których już pisałeś itp.


Drugie pytanie czy cubic IDE dla klasyka to jest dobry pomysł?


Benedykt Dziubałtowski
[#22] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #21

Ja mam zainstalowane Visual Studio 2005 Express C++ i mi tam pasuje jako edytor do C.
[#23] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #21

panowie... koeldzy....
zawsze staram się wspierać społeczności retro, ale jak widzę takie posty to łapy mi opadają...
jak ktoś nie rozróżnia C, C++i C#, nie wie czy powinien pisać w pythonie czy w C (vide inne wątki), nie zna podstaw codowania w ASM versus programowania obiektowego w Java/C# to sorry, ale ni jak nadzieji nie widać na odrodzenie naszej platformy... / naszych platform...
ja rozumiem, że można mieć zapał i chęci , że powinniśmy się wspierać a nie podcinać skrzydła, ale podstawy programowania i rozróżniania języków, runtime'ów itp to jest sprawa elementarna bez której nie ma co zabierać się za tworzenie czegokolwiek....
jak czytam że C# ni jak nie podobne jest autorowi oryginalengo posta do Amosa to - łapy opadają.
pisz lepiej startup-sequency w amiga dosie bo to oznacza, że nie jesteś w stanie zrozumieć podstaw programowania nie wspominając już o o metodach numerycznych, implementacji/optymalizacji algorytmów czy trików coderskich.
do tego dojdzie konfigurowaie środowisk developerskich/cross-dev, użycie narzędzi wspomagających (cały zestaw np typu binools jak w linuxie), linkerów itp, itd.

i choć nie jestem prograistą (tzn w świecie amigi nic nie zakodowałem ) to moja wykłądnia jest taka:
jeśli amiga to:
- zapomnij o java, javascript, c#, python, ruby, php
- naucz się angielskiego!!!
- naucz się bardzo dobrze C
- zrozum pointery (na serio... zrozum pointery)
- naucz się dobrze ASM Motorola 68k (i może jeszcze jakiegoś aby mieć porównanie)

potem można kodować. gry, dema, toole - whatever

pozdrawiam.

[edit]
- jeśli zaczynasz to zapomnijscie o visual studio, eclipse, i innych wynalazkach...
jak nie zrozumiesz idei działania makefila, kompilowania, assemblowania i linkowania z linii komend - to nigdy nie będziesz rozumiał co VStusio, Eclipse czy inny XCode robi..

Ostatnia aktualizacja: 17.10.2012 15:13:27 przez carrion
[#24] Re: Wziąłem się za C# i potrzebuje pomocy

@carrion, post #23

No to Tylko pogratulować. Pewnie jak pierwszy raz w życiu osiadłeś do komputera to od razu zacząłeś programować. Nigdy nic się nie musiałeś uczyć. Ja niestety tak dobrze nie mam. Aby programować muszę się nauczyć i to kompletnie od 0. Na chwile obecną conio.h czy makefile to dla mnie tajemnice które zamierzam rozgryźć. Nie mniej jeszcze raz Tobie gratuluje urodzenia się z odpowiednią wiedzą.


Benedykt Dziubałtowski
[#25] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #24

conio.h


Akurat to niech lepiej pozostanie dla Ciebie tajemnicą dalej, bo poza Windowsem nigdzie Ci się nie przyda, nie ma sensu zawracać sobie nim głowy.

Tak poza tym, to widziałeś ten kurs, który jest opublikowany na PPA? On opisuje dość dokładnie wszystkie zagadnienia od podstaw. Co najwyżej proces instalacji vbcc jest w nim nieco zdezaktualizowany (bo teraz jak wspomniałem ma instalator, więc jest nawet prościej).

Zainstaluj sobie na Ami i ucz się.

Ostatnia aktualizacja: 17.10.2012 15:38:13 przez strim
[#26] Re: Wziąłem się za C# i potrzebuje pomocy

@strim, post #25

Dokładnie tak chce zrobić.


Benedykt Dziubałtowski
[#27] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #1

- Najlepiej zacznij od C.
- Najlepiej czystego ANSI C, nie C++ bez STLow, BOOSTow i innych (chociaż to już zalezne od Ciebie)...
- Jak masz wolny sprzęt, polecam Code::Block zamiast VS2005, posiada już debugger, ma juz mingw. (nie wymaga wiekszej konfiguracji)...
- jak chcesz pisać pod amige, to daruj sobie C#. Czyste C najszybciej idzie przeportować nawet na najdziwniejsze platformy.
- C# wymaga runtime .NET. Amiga takowego nie posiada. To taki eqiwalent dla javy JRE.

Wskazniki to zwykla liczba która podaje współrzedne pamięci gdzie znajdują się dane.
np char *p = 12345; a potem p[30] = 1; to coś jak w amosie POKE 12345+30,1
jak robimy a = malloc(100); to system szuka wolnego miejsca o długosci 100 w pamięci i przekazuje do 'a' wskaznik tego miejsca, czyli wspolrzedne w pamieci. Więc mozemy się tam roztoperczać wpisując byle jakie liczby aż do a[99] = 1;

Gdy planujesz portować na amige,pc,czy nawet iphone albo android.
Polecam: OpenGL,OpenAL,SDL (bo podajrze te biblioteki są juz zaimplementowane na amidze...)
[#28] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #24

Benek, prawda jest taka, ze twoi doradcy wyprowadzili cie na pole minowe. Pierwsza lepsza ksiazka o C/C++ ma 1000stron. Nawet jesli jestes szybki niczym Flesz Gordon, to samo czytanie zajmie, ci tygodnie, nie mowiac juz o zrozumieniu tego co bedziesz czytal. Pozniej czeka cie kolejna pozycja "jak programowac gry komputerowe" 2x1000stron, ktorej czytanie ze zrozumieniem zajmie juz miesiace a na koncu bedziesz gotowy do pisania gier w C/C++, przy czym jedna gre bedziesz pisal ze 2lata.
A wiec widzimy sie za pare lat.

Rozowo to nie wyglada
[#29] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #24

@Benek
Benek ale ty nie siadasz pierwszy raz do kompa... prawda?
nie urodziłem się koderem i nadal się za takiego nie uważam, ale rzeczy o które pytasz to są podstawy, które nawet idąc na 1 rok informatyki (dasz wiarę to są dzieciaki po 19 lat.... :D ) na dowolnej politechnice w tym kraju wykładowca zakłada (milcząco choć nadal próbuje to wykładać) że te podstawy są znane... jak można pomylić C z C#? i to osoba która w światku (co prawda Amigi, ale zawsze) chce uchodzić, za "wyjadacza"... każdy kto średnio interesuje się branżą IT potrafi to odróżnić. chyba że my Amgiwcy totalnie już mamy klapki na oczach i nie przyjmujemy do wiadomości istnienie takich technologii jak .Net Java JEE czy inne wymienione wyżej przeze mnie.

conio.h to faktycznie nie najlepszy przykłąd i lepiej zrobisz jak postarasz się zrozumieć chociażby stdio.h albo Console.WriteLine albo nawet System.out.println.
prorponuję zacząć od standardowego C i stdio.h kompilatora GCC 2.95 (wymieniony wyżej, ale jak najbardziej wystarczający)... jeśli chcesz jednak nie tylko kodować na Amidze,ale także na Windzie w C# to długa droga przed tobą... serio mówię.
[#30] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #24

@Benek,
Nic mi do tego co robisz ze swoim czasem, ale w 1 poście poprosiłeś o radę, a w zamian tego niektórzy jak @carrion dają ci KONSTRUKTYWNĄ KRYTYKĘ. Z którą się zresztą zgadzam.
Jak będziesz strzelał fochy na konstruktywną krytykę to daleko nie zajedziesz.

Ja programistą nie jestem. Kiedyś dawno temu na Win95 zainstalowałem sobie jakiś kurs C i skompilowałem z sukcesem "hello world".
I zajęło mi to dwa dni. Po czym zrozumiałem że programowanie nie jest dla mnie.
Nie musisz iść w moje ślady, ale może da ci to do myślenia.

Ostatnia aktualizacja: 17.10.2012 15:59:29 przez stachu100
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem