Projekt dla osoby początkującej

0

Hej

Chcę się nauczyć programować. Chcę zacząć od C.

Będę się uczył od zera, składnia, samo programowanie.

Wraz z nauką tego wszystkiego chcę zrobić jeden duży projekt, który będę mógł wrzucić na GitHuba czy pochwalić się nim, modyfikować / ulepszać / upraszczać kod wraz z rozwojem umiejętności. Taki mój pierwszy duży projekt.

Nie mam doświadczenia, od czego mogę zacząć, by móc podołać zakładając, że nie jestem Teslą czy innym geniuszem a przeciętną osobą, która może poświęcić czas REGULARNIE i chce coś fajnego zrobić, rozwijać się. To musi być coś ambitnego, duże wyzwanie, ale możliwe do spełnienia, chcę zacząć najlepiej od dzisiaj po prostu czytać o tym jak to działa i cały czas dążyć do realizacji.

Moje pomysły (poziomu trudności nie znam, ani nawet nie wiem czy to jest zaawansowane, ale tak brzmi):
-Jakiś kompilator
-Język programowania
-Gra, ale nie jakaś tekstowa czy coś takiego prostego (to mogę robić równolegle, ale chodzi mi o coś większego, na pół roku - rok pracy)
-Dystrybucja Linuxa

Może jeszcze coś innego? Proszę o opinię i pozdrawiam!

Miłego dnia!

3

Trochę się porywasz z motyką na słońce. Wiem, że często ludzie piszą, że jak chcesz się nauczyć programować to trzeba pisać kod, ale trzeba to dostosować do własnych umiejętności. To co ty chcesz zrobić moim zdaniem nie może się udać bo będzie za dużo problemów po drodze a zakładam że nie napisałeś do tej pory nawet "Hello Worlda". Tutaj już nie chodzi tylko o składnię C ale ogólnie o umiejętność programowania.
Pomijając już pomysły w stylu napisania "języka programowania" czy "dystrybucji linuxa".

7

Emulator jakiegoś w miarę nieskomplikowanego procesora, np. i8080 - jak zrobisz emulator, to możesz rozszerzyć to o asembler, kompilator, interpreter, jakieś gui.

5

Będę się uczył od zera, składnia, samo programowanie.

Polecam implementację algorytmu DES, szyfrujący między innymi pliki. Nie jest specjalnie skomplikowany, ale poznasz wszytko co potrzebne - jak tworzyć tablice, pętle, funkcję, własne typy danych oraz podstawy I/O. TUTAJ masz najlepszy opis jaki znalazłem swego czasu w necie.

To co sam wymieniłeś wymaga większej porcji wiedzy nie mającej bezpośredniego związku z pisaniem kodu, więc jeśli Twoim celem jest nauczyć się jak pisać kod, lepiej zacząć od czegoś co nie odciągnie Cię na zbyt długo od specyfikacji języka.

1

Musisz odpowiedzieć sobie na następujące pytania. Do czego potrzebna jest Ci nauka programowania? Co chcesz osiągnąć i czym w przyszłości chcesz się zajmować?
Nauka języka C jako języka początkowego jest według mnie nie najlepszym pomysłem, gdyż w pewnym momencie będziesz chciał nauczyć się programować obiektowo, a język C nie wspiera tej możliwości.
Tutaj znajdziesz ciekawe porównanie dzisiaj używanych języków programowania.

2

programować obiektowo, a języku C nie jest to możliwe.

Oczywiście, że jest możliwe programować obiektowo. Sam język nie wspiera obiektowości - nie ma klas, etc., ale jak najbardziej można pisać obiektowo.

2

Jeśli chcesz nie umiejąc programować, zrobić od razu wielki projekt, tym bardziej będący grą komputerową to moim zdaniem najlepsza metoda by się zniechęcić do programowania.
Zacznij od małych rzeczy, które będą Cię cieszyć, jeśli chcesz iść w kierunku gier, niech to będzie oprogramowanie mechaniki ruchu jakiegoś "duszka".
Możesz też po prostu robić drobne programy, które w codziennym życiu mogą Ci do czegoś służyć: import / konwersja plików i danych, pobieranie jakichś rzeczy ze stron internetowych i wyświetlanie w jednym miejscu na ekranie kompa czy telefonu, przelicznik i kalkulator walut.
Niezależnie, czy w przyszłości będziesz programował gry czy aplikacje bankowe, musisz poznać podstawy - obsługa plików, manipulacja stringami, konwersje typów danych, obsługa błędów, dostęp do baz danych, parsowanie dżejsonów :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1