Live data from Hacker News

Fresh IDE

fresh.flatassembler.net

71–80 of 83 posts

Re: Fresh IDE

#71

Earlier quoted context omitted.

Sure, that's likely the case and its an impressive piece of software. But.. that doesn't stop it from looking dated. Then again, maybe people used to developing in assembly (ie the target users) don't mind or are used to worse looking tools (eg when I was doing microcontroller development, most tools were pretty bad and dated looking, some newer ones used eclipse/netbeans for better or worse).

Well, as I said several posts above, I am working on a new, assembly language, portable GUI toolkit that to be used for v3.x series of Fresh IDE. Unfortunately it will add another 50..100kB to the code, but the portability has price. :(

I didn't mean it as a criticism to you or your work and fresh certainly looks decent, more that I found the name ironic given the "classic" look of the GUI. My first comment at least, the second one was commenting on how many low level tools are to look dated and maybe it's the norm. Again, I didn't really mean it as criticism even though I suppose it sounds like it. :/

Could you instead call into an existing portable UI library? Perhaps FLTK or something more lightweight than the popular ones. It just seems to me that creating a new GUI toolkit from scratch is a massive undertaking and I'm unsure what value you will get over spending the time improving fresh itself? I guess there's some appeal to having a self contained assembly system through and through.

Re: Fresh IDE

#72

Earlier quoted context omitted.

Well, as I said several posts above, I am working on a new, assembly language, portable GUI toolkit that to be used for v3.x series of Fresh IDE. Unfortunately it will add another 50..100kB to the code, but the portability has price. :(

I didn't mean it as a criticism to you or your work and fresh certainly looks decent, more that I found the name ironic given the "classic" look of the GUI. My first comment at least, the second one was commenting on how many low level tools are to look dated and maybe it's the norm. Again, I didn't really mean it as criticism even though I suppose it sounds like it. :/ Could you instead call into an existing portabl…

No offenses. :)

At first, FLTK, does not look much better than the old Windows widgets.

In addition, I strongly want Fresh IDE to be portable to MenuetOS, KolibriOS and other assembly written OSes. As a rule, they all are written with FASM and a good IDE that can be ported for days (not for years) can be great tool for the OS developers.

That is why I started the development of special GUI toolkit.

Re: Fresh IDE

#73
post #20

Earlier quoted context omitted.

I know Windows is a lost cause, but Unix apps don't have to be ugly like that ;-) And even Windows can use GTK.

I am working on v3.0 that will use its own portable GUI toolkit (in assembly language) with much prettier UI. On this page you can see some preliminary experimental screenshots: https://fresh.flatassembler.net/index.cgi?page=content/artic... Still not GTK though. It is too heavy for assembly language programming and will not allow portability for example on MenuetOS or KolibriOS assembly written OSes.

That looks cool as hell!

Re: Fresh IDE

#74
post #35

Earlier quoted context omitted.

I'm an Aussie too :) I didn't expect to see slang popping up in Chrome DevTools though haha.

I'm an Aussie also born in 91 and I have never heard that expression before. The "she'll be" made me wonder though!

That was my experience too. I hear "she'll be right" fairly often, but I hadn't heard "she'll be apples" before. I couldn't imagine any country but Australia coming up with a phrase like that though.

Re: Fresh IDE

#75
post #58
post #15

Earlier quoted context omitted.

That makes a lot of sense. I could combine this with viewing gcc's assembly output, as well! Thanks :D Edit: This page is ridiculously comprehensive. Wow.

The official fasm tar comes with a few hello world examples. One shows you how to say hello with libc, other with the kernel (then there's x86 and amd64 versions of bout). http://chamilo2.grenet.fr/inp/courses/ENSIMAG3MM1LDB/documen... is the official spec for the amd64 calling convention (aka ABI) on unices. http://www.logix.cz/michal/devel/amd64-regs/ is a nice table showing what goes in what register (still amd64)…

Hmm, interesting.

I've had a look at the examples that come with fasm, which are invaluable.

But I completely forgot to point out (I knew I was forgetting something!) in my previous comment that I'm actually looking for info on 32-bit assembly programming. My motivation comes from the fact that a) a lot of my systems are 32-bit (such as the ThinkPad T43 I'm using to type this), due to circumstances I cannot change; and b) because (as I discovered to my delight) a program written for i386 and statically linked (eg, by fasm's ELF writer) will run on x86_64 without 32-bit glibc/userspace/anything! This makes perfect sense, but is an absolute winner for me for the kinds of things I'm going to want to make.

So x86_64 is in the "it would be monumentally stupid not to learn it" category, and I'm looking forward to doing so, but I'd have to do some seriously inelegant wrangling (something like qemu-x86_64 + 64-bit userspace - on a 32-bit machine, lolol) to actually work with it at this point.

The syscall table you made is very similar to HeavyThing's, heh. I've actually been researching precisely that of late; you most likely generated your copy from https://github.com/torvalds/linux/blob/master/arch/x86/entry.... I of course want https://github.com/torvalds/linux/blob/master/arch/x86/entry....

Re: Fresh IDE

#76

Earlier quoted context omitted.

I didn't mean it as a criticism to you or your work and fresh certainly looks decent, more that I found the name ironic given the "classic" look of the GUI. My first comment at least, the second one was commenting on how many low level tools are to look dated and maybe it's the norm. Again, I didn't really mean it as criticism even though I suppose it sounds like it. :/ Could you instead call into an existing portabl…

No offenses. :) At first, FLTK, does not look much better than the old Windows widgets. In addition, I strongly want Fresh IDE to be portable to MenuetOS, KolibriOS and other assembly written OSes. As a rule, they all are written with FASM and a good IDE that can be ported for days (not for years) can be great tool for the OS developers. That is why I started the development of special GUI toolkit.

RE: Portability - Not sure how far you'll be able to get by gcc -S'ing something like nuklear[1] (cross-platform ANSI C89) but it might save you some time.

I don't have much HLL asm/demoscene experience personally so I'm not sure what's "impressive" as engineering feats these days but this looks cool. As someone who aspires to see a viable Smalltalk-like runtime self-modifiable introspective debugger at the OS level with a decent layer of POSIX compatibility and the ability to run AVX512 instructions, I like the idea that tools like this are out there. Cheers, mate

[1] https://github.com/vurtun/nuklear

Re: Fresh IDE

#77

Earlier quoted context omitted.

No offenses. :) At first, FLTK, does not look much better than the old Windows widgets. In addition, I strongly want Fresh IDE to be portable to MenuetOS, KolibriOS and other assembly written OSes. As a rule, they all are written with FASM and a good IDE that can be ported for days (not for years) can be great tool for the OS developers. That is why I started the development of special GUI toolkit.

RE: Portability - Not sure how far you'll be able to get by gcc -S'ing something like nuklear[1] (cross-platform ANSI C89) but it might save you some time. I don't have much HLL asm/demoscene experience personally so I'm not sure what's "impressive" as engineering feats these days but this looks cool. As someone who aspires to see a viable Smalltalk-like runtime self-modifiable introspective debugger at the OS level…

> As someone who aspires to see a viable Smalltalk-like runtime self-modifiable introspective debugger at the OS level

That's an interesting pile of keywords you've got there.

I don't know about Smalltalk (I find Squeak, Pharo, etc utterly incomprehensible - I have no idea what to do with them), but for some time I've been fascinated with the idea of a fundamentally mutable and even self-modifying environment. My favorite optimization would be that, in the case of tight loops with tons of if()s and other types of conditional logic, the language could JIT-_rearrange_ the code to nop the if()s and other logic just before the tight loop was entered - or even better, gather up the parts of code that will be executed and dump all of it somewhere contiguous.

C compilers could probably be made to do this too, but that would break things like W^X and also squarely violate lots of expectations as well.

Re: Fresh IDE

#78

Earlier quoted context omitted.

The entire thing is writted in FASM assembler. So maybe they thought a normal gui toolkit is too heavy weight for asm.

Sure, that's likely the case and its an impressive piece of software. But.. that doesn't stop it from looking dated. Then again, maybe people used to developing in assembly (ie the target users) don't mind or are used to worse looking tools (eg when I was doing microcontroller development, most tools were pretty bad and dated looking, some newer ones used eclipse/netbeans for better or worse).

I'd say it is actually a stylized version of the latest UI conventions: the icon row could be an interpretation of the MS Office 'ribbon'. I can't tell from the screen shots whether or not it has the old Borland C++ IDE green check mark and red X. That would be dated, no question. The Windows 3.1 / Presentation Manager look would be dated.

Re: Fresh IDE

#79
post #35

Earlier quoted context omitted.

I'm an Aussie also born in 91 and I have never heard that expression before. The "she'll be" made me wonder though!

That was my experience too. I hear "she'll be right" fairly often, but I hadn't heard "she'll be apples" before. I couldn't imagine any country but Australia coming up with a phrase like that though.

According to the wiktionary[1] it is "rhyming slang" from:

    apples and spice = nice
[1] https://en.wiktionary.org/wiki/she%27ll_be_apples

Re: Fresh IDE

#80

Earlier quoted context omitted.

No offenses. :) At first, FLTK, does not look much better than the old Windows widgets. In addition, I strongly want Fresh IDE to be portable to MenuetOS, KolibriOS and other assembly written OSes. As a rule, they all are written with FASM and a good IDE that can be ported for days (not for years) can be great tool for the OS developers. That is why I started the development of special GUI toolkit.

RE: Portability - Not sure how far you'll be able to get by gcc -S'ing something like nuklear[1] (cross-platform ANSI C89) but it might save you some time. I don't have much HLL asm/demoscene experience personally so I'm not sure what's "impressive" as engineering feats these days but this looks cool. As someone who aspires to see a viable Smalltalk-like runtime self-modifiable introspective debugger at the OS level…

> RE: Portability - Not sure how far you'll be able to get by gcc -S'ing something like nuklear (cross-platform ANSI C89) but it might save you some time.

The big problem with using "gcc -S" is that as a result you have a HLL program, simply written as an assembly language listing.

The humans write assembly code very different than HLL. Even translated to asm notation, this difference will persist. Asm programmer will choose different algorithms, different data structures, different architecture of the program.

Actually this is why in the real world tasks, regardless of the great compiler quality, the assembly programmer will always write faster program than HLL programmer.

Another effect is that in most cases, deeply optimized asm program is still more readable and maintainable than deeply optimized HLL program.

In this regard, some early optimizations in assembly programming are acceptable and even good for the code quality.

Post reply on HN