I do that if I don't get email reply notifications... and sometimes when I do.pranavappu007 wrote:I forgot that I had a thread in here
It's definitely weirder. I've come to the conclusion that basic proficiency in Forth requires a wide variety of skills; more so than C. Its extensibility is its great power, but I think everyone who works with it likes to keep it to smaller projects. On the other hand, as a primitive OS, I think a native Forth systems could be much more consistent than what I experienced in Unix and Plan 9 from Bell Labs: an awkward hodgepodge of domain-specific languages with C. From printf format strings to sed and later sam, all these DSLs are cryptic and kind-of awkward and it takes effort to make them work together because they all have different syntaxes for their "plain text" data. Awk is the best of them but it feels like an outsider to the others, being much more powerful, especially on Plan 9. Forth is exceptionally good at DSLs because it's extensible and its syntax doesn't get in the way; you can write DSLs in the language itself instead of consigning them to strings or whole separate interpreters. (The same is true of Lisp.) That's basically my plan; an OS as componentized as Plan 9, (it's better than Unix in that regard,) but more consistent and powerful in its components. I have an idea for better pipes, amongst other things. But Forth is at least as bad as C when it comes to shooting yourself in the foot. I keep coming back to the idea that I should have chosen Lisp instead, but a reasonably efficient Forth compiler can be much simpler than a reasonably efficient garbage collector alone, if I'm not mistaken. And yes, I'm crazy enough to want to write a compiler and an OS!pranavappu007 wrote:I googled about forth and it is as old as C or older. Also, when I look at an example, it is much weirder than languages I've learnt(basically C..). I think it is more used for scientific computing or such, and I've read that it is extensible and therefore not consistent from program to program. Even if I learned it it is less used than C and I don't see it's becoming widespread than C in future.
Uh... it's C on Windows, so if it's not your long-term plan, yeah? I say "not your long-term plan" because Win32 is very old and very bad -- at least the graphics side of it is widely considered very bad. I heard Microsoft have tried to kill it off, but much like x86, demand for compatibility has kept it alive. I imagine there's a few years left in it; time to get practice with C while getting paid. I don't know what the C vs. C++ situation is in that field.pranavappu007 wrote:I was thinking about learning Win32 API in C as Windows developer can get more jobs than just C dev. I kinda looked at the basics, it's hard too. But, I think I don't need to use much C++ features if I have to code in CPP. Is it a good idea?
Just to scare you, there's an image somewhere on the Net with listings of minimal graphical hello world programs in Win32, X Windows (probably Xlib), and Plan 9. The Win32 listing is in a font half the height of the others and is still more than twice the length of the X listing... and people hate X for being too much work! The Plan 9 listing is about 1/5th the length of the X listing. It's a shame there are virtually no Plan 9 jobs.