IDE do ASM + GUI desinger do ASM lub C

Cześć, polecicie jakieś fajne IDE do Asemblera?

Mam jednak jeszcze jedno pytanie czy istnieją jakieś GUI desingery do ASM lub samego C?

Ani C ani Assebler nie mają żadnego GUI, zapewniają je dopiero systemy operacyjne i biblioteki. Do C masz do wyboru: WinAPI (tylko Windows), GTK+ (Windows, Linux, OS X).

IDE do Assemblera? Dowolny edytor tekstu z kolorowaniem składni.

Jak na razie to tak robiłem :slight_smile: , ale mi tu głównie chodzi dokańczanie kodu i takie tam rzeczy które zapewnia IDE.

Po za tym znalazłem jakiegoś RadASM-a, dobry jest?

Dokańczanie czego? Trzyznakowych nazw instrukcji i dwuznakowych nazw rejestrów? :stuck_out_tongue:

Czemu chcesz robić GUI w asemblerze lub C?

Wszystko co pomoże, może się przydać :smiley:

Chce mniej obciążać moje programy, a po za tym myślę o napisaniu GUI desingera dla asemblera lub C bo wtedy nie będę miał konkurencji :wink:

somekind użył sarkazmu. Nie ma IDE, bo nie istnieje taka potrzeba. Tak w ogóle to pierwsza zasada tworzenia aplikacji - musi zaistnieć potrzeba. Nie ma potrzeby, nie tworzy sięaplikacji. Assembler jest zbyt uproszczony, i takiej potrzeby nie ma.

Zatem polecam jakiś kurs algorytmiki. Znacznie więcej zyskasz umiejętnie dobierając struktury danych i stosując twierdzenia matematyczne, niż męcząc assemblera. Możemy zrobić taki mały test. Napisz w ASM mnożenie dwóch liczb mających po 1000000 cyfr. Ja zrobię to samo w C++ z użyciem i algorytmu FFT w 20-30 linijkach. Zobaczymy, kto uzyska lepsze czasy, nie tędy droga w optymalizacji kolego.

I po co? GUI designery przydają się na desktop, na którym jest pełno innych łatwiejszych i lepszych języków. ASM głownie używa się w programowaniu systemów wbudowanych.

I nikogo, kto by to używał. Sztuka dla sztuki.

A znajomy, co z tego żyje, twierdzi, że już daaawno przenieśli się na C albo nawet wyższe języki i zabawa ASM-em jest u nich raczej nieczęsta.

Czyli ten RadASM jest beznadziejny i nas kłamie?

Czyli będę robić silniki programów na ASM-ie,

a po za tym dla mnie i tak lepsze jest zwyczajne C, bo nie jest przepełnione klasami i innymi opcjami kodu,

których nigdy nie używam, bo nie lubię i nie potrzebuje.

Teraz podałeś mi pomysł na stworzenia w ASM-ie silnika podobnego do Ogre3d lub Irrlichta :smiley:

No ale ASM raczej nie wymrze, jak nie wymarł prze 68-lat, to czemu niby teraz ma,

to zaleta pierwszego języka programowania.

Podpowiadanie kodu ma sens tam, gdzie są długie instrukcje i nazwy symboli. Instrukcje asemblerów czy nazwy rejestrów są raczej krótkie. Wpisywanie jednego-dwóch znaków, żeby podpowiedziało trzeci, jest absurdalne.

To tak, jakbyś chciał zbudować stację benzynową dla szczotek, więc już jesteś bezkonkurencyjny.

Nie możesz napisać GUI designer do asemblera ani do C. To jest niemożliwe, bo to są nazwy języków programowania, a designery można pisać do bibliotek GUI.

“Nas kłamie”? Jaki to w ogóle język?

Nie dlatego, że nie lubisz i nie potrzebujesz, tylko dlatego, że nie masz pojęcia o programowaniu, i nie wiesz nawet do czego mógłbyś ich użyć.

Powodzenia i do zobaczenia za jakieś 50-60 lat.

Oczywiście, że nie wymrze. W nim po prostu rzadko kiedy jest sens pisać. Jest to po pierwsze nieefektywne, bo trwa kilkadziesiąt razy dłużej niż pisanie w języku wyższego poziomu, a po drugie niewydajne, bo kod generowany przez kompilatory, i tak jest zazwyczaj lepszy niż pisany przez programistę.

No to zrobiłbym bibliotekę GUI i dopiero desingera.

Według tego co piszą na podanej na górze stronie, RadASM to IDE dla asemblera.

Mam pojęcie o programowaniu i klasy lub inne uproszczenia w C++ nie są mi potrzebne, a ich pisanie nie sprawia mi frajdy,

no i wiem do czego mógł bym to coś użyć, ale i tak prościej dla mnie zrobić to w C.

Nie no jeśli będę sam to za 20-lat, a jak ktoś pomoże to z 5-lat.

 

Ja dzisiaj nie wyobrażam sobie jak można nie używać klas. Kiedyś jak pisałem w C to po kiedy były mi te wszystkie struktury, klasy? W c# doszły interfejsy i wiele innych i ■■■? Po kiego to. A po to że jak w przyszłości będzie trzeba rozbudować program to mając klasy, obiekty wszystko jest takie proste. Po co Ci klasy? Po co Ci różne wbudowane już kontenery danych? Listy, słowniki ? Po co Ci linq i extension methods? Po co Ci entity framework? Jak można napisać połączenie do sqla w asmie co zajmie sto lat jednej osobie… Zrób w Asmie Dictionary<string, Dictionary<string, MyClass>>, zrób cokolwiek co wymaga więcej niż dodanie liczb 8/16/32 bitowych a dostaniesz milion linijek kodu

Ty też, bo byś nie umiał sobie bez nich poradzić :smiley:

Ale teraz rozmawiamy o C, a nie o Asmie, czy tak? :slight_smile:

Właśnie klasy i niektóre dodatki C++ są dla mnie zbędne, ale niektóre są pożyteczne, więc powiem ci że klasy itp. mogli by usunąć z C++ a reszte zostawić :slight_smile:

No ale w C/C++ nie zrobisz liczby 16/32 bitowej więc, ręka ręke myje…

W programowaniu przechodziłem przez etapy C -> C++ -> asm -> C# więc znam dokładnie jak to jest przez pierwsze 3 lata programowania nie wyjść nawet poza konsolę. Z ułatwień się korzysta. Jakim rarytasem był typ string, wszystkie streamy. Nie trzeba robić tego wszystkiego ręcznie tylko klikam i działa. Jak fajnie było stworzyć klasę np. Punkt a następnie przeładować operator == i porównywać tylko Punkt1 == Punkt2 zamiast ręcznie porównywać wartości w strukturze. Bardzo wiele rzeczy cieszyło po przejściu z C na C++. Z C++ na C# było dokładnie tak samo. Tyle gotowych klas z których tylko korzystać. To nie to że korzystam i nie wiem jak działają bo jak byłem na C czy c++ to sam sobie takie rzeczy musiałem robić.

 

Nie zrobię w C liczby 16 bitowej ? short? 32 bitowej? int?

short to 2-bity.

int to 4-bity.

long to 8-bitów.

Więc nie zrobisz nawet liczby 16-bitowej .

 

Ja wyszłem na C do GUI po 6-mięsiącach, no a propo przecież wcześniej pisze że tylko niektóre rzeczy się przydają tak jak string, ale klasy mogli by sobie darować.

int to 4 bity? Pomyśl ile możesz na tym zapisać 1111 = ? 15… Rozumiem, że twoje inty są dość ciekawe, no ale bez przesady

Sorry ale mylisz bity z bajtami

Bardzo mało.

 

Mała pomyłka może się każdemu zdażyć, sorka.

short to 2-bajty.

int to 4-bajty.

long to 8-bajtów.

No i tyle…

W Asmie da się napisać liczby 32/64-bajtowe.

 

Tak, implementując je z 8-bajtowych liczb. Tyle że to samo osiągnąłbyś w każdym innym języku wyższego poziomu. Największym typem obsługiwanym przez typowy x86-64 jest typ Extended, czyli 10-bajtowy float, którego stosowanie mija się z celem. Dla typów całkowitych powyżej 8 bajtów się nie wychodzi bo to jest rozmiar rejestru, a to w rejestrach dokonuje się obliczeń. Owszem, są 128-bitowe rejestry, nawet 512-bitowe, ale one działają zupełnie inaczej. Kolejne procesory za jakieś 10-20 lat będą może 128-bitowe (te „mainstreamowe”, bo takie już są), wtedy jedną instrukcją add dodasz 2 zmienne 16-bajtowe.

Najlepsze co możesz napisać teraz w ASM to implementacja klas do ASM.

 

 

Pomylenie bitów z bajtami to nie jest mała pomyłka tylko kardynalny błąd.

 

A co do tego, co napisałeś, to też nie jest prawda. Rozmiary typów liczbowych (jak i ich nazwy) zależą od języka (a w przypadku takich potworów jak C++ to nawet od kompilatora), to nie są wartości standardowe.