Wpis z mikrobloga

Pracuję od kilku miesięcy nad symulatorem lotów orbitalnych, który ma wbudowaną maszynę wirtualną z własnym językiem asemblera. VM steruje lotem rakiety (podobnie jak na przykład Apollo Guidance Computer sterował lotem statku Apollo).
Pisze się programy w języku VM, które wprowadzają statek kosmiczny na orbitę o określonych parametrach, itp.

Nie korzystam z żadnych gotowych silników: wszystko oprogramowuję od podstaw sam w C++ (i "nowoczesnym" OpenGL) - łącznie z obliczeniami fizyki, renderowaniem grafiki i translatorem języka VM. (m. in. z tego powodu grafika wciąż nie zachwyca, ale robię postępy). Załączam kilka screenów.

Powiem tak: Jak raz spojrzysz w otchłań, to uważaj, bo otchłań może Cię... pochłonąć.
Dużo się mówi o wadach języka C++, jednak poziom świadomości i kontroli nad sprzętem, jaki daje to narzędzie, trudno jest porównać z czymkolwiek innym.

Za jakiś czas upublicznię kod źródłowy. Pod tagiem #symulatorlotoworbitalnych będę co jakiś czas umieszczał info o postępach prac.

#cplusplus #programowanie #fizyka #astronautyka #symulatorlotoworbitalnych
gacek_w - Pracuję od kilku miesięcy nad symulatorem lotów orbitalnych, który ma wbudo...

źródło: comment_1664037071i0zFq3HpMKtXC5r44Uq3iQ.jpg

Pobierz
  • 25
Dużo się mówi o wadach języka C++, jednak poziom świadomości i kontroli nad sprzętem, jaki daje to narzędzie, trudno jest porównać z czymkolwiek innym.


@gacek_w to poczytaj może o assemblerze, tam dopiero masz kontrolę nad sprzętem ʕʔ
@Krolik ale OP podał kontrolę nad sprzętem jako duży plus C++ i jeszcze napisał że trudno jest go porównać z czymkolwiek.
Po pierwsze wątpię żeby miał tu na myśli assemblera, a nawet jeśli to niesłusznie zalicza to do plusów C++ bo jest to możliwe w bardzo wielu językach.
@foxminator2000: Na co dzień programuję w Javie i trochę (z konieczności) w SQL. Typowe aplikacje biznesowe z REST-em i bazą danych pod spodem. Zabawa z tworzeniem tego symulatora pozwala mi nie zapomnieć jak fajne jest programowanie komputerów :)

@Krolik: Czemu nie Rust? Dobre pytanie. Może dlatego, że jak zaczynałem w grudniu zeszłego roku prace nad tym projektem, to w zasadzie nie wiedziałem nic o Rust. Mam wrażenie, że ten język
gacek_w - @foxminator2000: Na co dzień programuję w Javie i trochę (z konieczności) w...

źródło: comment_166404533420zqmXbueYxbN1KL5tgXCs.jpg

Pobierz
@Bleck: myślę że chodzi nie tyle o kontrolę nad sprzętem, a o kontrolę nad każdym aspektem działania programu. W sensie, że nie masz pod spodem "magii" która np. automatycznie coś tam Ci robi (np. sprząta pamięć, interpretuje program po swojemu, zarządza wątkami itp), i której nie możesz się pozbyć / ominąć, schodząc nawet do poziomu assemblera jeśli zajdzie taka konieczność. I w tym C++ jest naprawdę bardzo dobre. Wbrew pozorom nie
@Quiz: Formalnie mam skończony tylko licencjat z informatyki i ekonometrii, ale studiowałem kilka kierunków, dość długo... w tym m.in. przez jakiś czas matematykę. Fizyką, astronomią i astronautyką interesuję się amatorsko. Myślałem, żeby zrobić studia drugiego stopnia w tym kierunku, ale... mam już swoje lata.
@gacek_w: steriwanie rakietami to złożony temat pod wzgledem fizyki. Jak w ogóle jest zrealizowane sterowanie rakietami? Skąd miałeś taką wiedzę, żeby zaimplementować to? To już nie tylko fizyka ale szeroki dział inżynierii kosmicznej.

via Wykop Mobilny (Android)
  • 0
@gacek_w: a pamiętacie kto jakiś czas temu wygrywał TopCoder'a kilka razy? Ten programista polskiego pochodzenia programuje teraz rakietki