| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#1
| |||
| |||
| Siegfried Gonzi wrote: > > What happend to your OCaml projects? You asked, so... It has taken me 1 year to realize that I'm a fundamentally low-level ASM kind of guy, always have been, and will yet be for some time. My world started at age 11 with an Atari 800 memory map and arithmetic in binary. I am only interested in the high level insofar as it allows me to better coordinate the low level, fundamental primitives. OCaml has an inferior C FFI that gets in my way. In general, I think that tends to happen in languages that are more interested in the high level than the low level. I never actually did any OCaml coding, because of this and other stumbling blocks. It was asking me to abandon too much of my previous knowledge base and skill. I used to make my bread and butter on "drop to C, drop to ASM." A language that doesn't let me do it easily makes me feel naked, stressed out, and intractably annoyed. I resist and resist and resist doing any damn thing in the language, looking for some other problem to work on instead. Another stumbling block is a graphical IDE of some sort. Asking for Visual Studio support is usually a bit much in open source-land, so nowadays I don't expect it. Recently I discovered Eclipse. I see it as the future of open-source IDEs, because it is so friggin' slick. Slickness is what converts Visual Studio users to new platforms, and converting people is an interest of mine. It's just really difficult to make a VS guy swallow Emacs. Way too much learning curve, keystroke memorization, and futzing. I have some ancient experience with it: C-x C-s is actually in my muscle memory. But nothing else is, so considering how much I used to use it, I don't want it. Windows developers without my experience want it even less. Various languages come up with their own graphical IDEs, some of which are passable. For instance, DrScheme looks passable. I haven't looked at Bigloo's Bee yet; screenshots suggest it might be passable. In OCaml-land there is nothing passable. Cameleon doesn't work well on Windows and isn't going to. There's some fledgeling Eclipse support, but it's very basic, and I don't see a reason to trust it for production use. The lack of a good graphical IDE in OCaml isn't a dealbreaker for me, but it's definitely a contributing factor. A 3rd factor is the OCaml community. They're not oriented towards business or marketing. They're not going to grow their language any faster than "techie open source diffusion." At that rate, it'll be 5 years before they're as popular as Python is today, assuming they sloooooowly make some needed moves along the way. I've given up trying to turn them into evangelists, it ain't gonna happen. I won't be making the same mistake talking to Schemers about that sort of thing, either. I'm convinced that Usenet is the province of techies, not financial stakeholders. I'm going to save the 'biz' talk for face-to-face Seattle schmoozing groups from now on. A 4th factor is the PITA of integrating OCaml with the Nebula2 3D engine. http://nebuladevice.cubik.org I'm tired of needing to do big jobs before I even get started on any game writing. Lately my plan was to do game stuff in Python, using the extant support, and postpone the OCaml ScriptServer to a later date. I don't think Python can 'carry the ball' for what I want to do, but I could probably get 6 months into things before needing to deal with boring stuff like OCaml script servers. Scheme doesn't solve this difficulty, actually. But if I can get a HLL with good compiled performance, a good C FFI, and good tools support on Windows, then I have 2 things over and above what I'd get from OCaml. I'd do something simple in 2D for starters, worry about Nebula2 later. In the interim I was going to do something 2D in Nebula2 anyways, to sidestep all the 3D art production problems. I'm contemplating a game about rectangular images, to maximize the visual art and minimize the technology hassles. In fact, I was about to become 'Art Centric' rather than 'Programmer Centric' in my development outlook. I feel like I've spent 1 year pursuing the wrong strategy. I think I'd get far closer to writing a game if I worried about the *art* for a game. Technology always seems to lead me around in circles, and I was thinking of taking the extreme step of avoiding anything other than proven off-the-shelf technologies. But I had a lightbulb about Scheme the other day, and I decided to run it down. > Are you sure Scheme will fulfill your requirements? No, because I haven't gone through 'the drill' yet. But Bigloo does look promising. It looks like it has a much better C FFI, which is what I'd expect from a Scheme-to-C compiler. It also seems to have the tools support I'm looking for. Cross fingers. BTW, SML/NJ has a much better C FFI, called "No Longer Foreign Function Interface." Mlton also has provisional support for it, apparently. In early days I actually detoured away from OCaml towards SML, over the C FFI issue. I detoured right back when I saw what a teeny tiny community SML/NJ and Mlton had. I don't think 'dearth of community' is quite as much of a dealbreaker now as it was for me then. I expect I'll have to implement most things myself no matter what the language. But, it does still matter for getting things like Eclipse support, converting people to the platform, etc. I still help keep a pulse going for 'ML Seattle', but I've recently turned over the mandate of leadership to someone more firm in his OCaml interest. I will remain an interested attendee, keeping an eye on possible futures. http://groups.yahoo.com/group/mlseattle/ See also http://www.mlsig.org as soon I'll be moving the list there. > I can only give you the tip: start coding in Scheme and do not make > the same mistake as with OCaml: where you openly said you first > gather information and then start coding. But 'coding experience' was not the mistake. Language capability, tools, and community were the mistakes. (Or even strategic orientation: technological R&D vs. art production.) The reason I didn't code is I *couldn't stand* all the things being put in my way. It's only too bad I wasn't more honest about it up front. It has taken me awhile to sort out what I wanted to believe was possible, vs. what is actually possible, and what is actually a dealbreaker for me getting things done. OCaml just isn't that great a 'successor language' to C++ from a low-level ASM 3D graphics Windows game developer's standpoint. I'm hoping Scheme, particularly the Bigloo compiler http://www-sop.inria.fr/mimosa/fp/Bigloo/ , will be a better fit to 3D graphics and RISC-like AI architectures. Scheme was always the designated exit hatch if OCaml didn't work out. > However, you should also report why you will not like Scheme for your > projects. I hope you will not (and Scheme deserves you well), but > just in case it would be interesting. My needs in a HLL are: - the usual HLL features that make it a HLL - excellent C FFI - very good native compiled performance - good Windows support - good graphical IDE highly desired - proof-of-concept with 3D applications, such as extant OpenGL or DirectX apps - a critical mass of users, to make consulting and game industry evangelism possible someday I find I don't care about functional programming, who's got a better syntax, or type safety per se. These contribute to the gestalt of a language, but they aren't dealbreakers. Here are the inadequacies of the languages I looked at last year: - Python is slow - OCaml has a mediocre C FFI, lacks a good graphical IDE, UNIX-biased community - SML/NJ and Mlton have teeny tiny communities The fragmentation of the Scheme community is a wild card. Right now I'm expecting to do most of my own coding. I don't see myself needing much in the way of libraries. From a support and longevity standpoint, I am hoping there's enough critical mass around Bigloo that I don't feel a pinch. -- Cheers, www.indiegamedesign.com Brandon Van Every Seattle, WA "The pioneer is the one with the arrows in his back." - anonymous entrepreneur |
|
#2
| |||
| |||
| > "Brandon J. Van Every" wrote: > > But 'coding experience' was not the mistake. Language capability, tools, > and community were the mistakes. (Or even strategic orientation: > technological R&D vs. art production.) The reason I didn't code is I > *couldn't stand* all the things being put in my way. It's only too bad I > wasn't more honest about it up front. It has taken me awhile to sort out > what I wanted to believe was possible, vs. what is actually possible, and > what is actually a dealbreaker for me getting things done. > > OCaml just isn't that great a 'successor language' to C++ from a low-level > ASM 3D graphics Windows game developer's standpoint. I'm hoping Scheme, > particularly the Bigloo compiler > http://www-sop.inria.fr/mimosa/fp/Bigloo/ , will be a better fit to 3D > graphics and RISC-like AI architectures. Scheme was always the designated > exit hatch if OCaml didn't work out. Some words to Bigloo: As I wrote I am not far behind of cheerleading Bigloo when needed, but there are some caveats to make (atop of my head): a) You should try to get some more information on the Bigloo mailing list how well it is integrated into Windows-land. I have never used Bigloo on Windows. b) A very important issue: the interpreter is not really a full fledged interpreter. Could be important for you as a game developer. The interpreter for example does not let you use Bigloo its object system. One must use Bigloo really for reasons if he wants a compiler! That is much different to a CommonLisp. However, the Bigloo compiler is very good, sound and reliable and you have got a lot of choices (basic types, and basic arithmetic operators for floating point operations) c) I can remember on your requirements of things like += and sort of that; be aware that Scheme does not have such constructs, though, you may define a set of useful operators yourself. d) Bee is very good but lacks sometimes a bit of documentation (but Manuel and all the other guys behind the Bigloo project are very responsive) However, as far as I know there do not exists any OpenGL bindings for Bigloo. Though, I can remember that one is trying do to such things for Bigloo. But you could try to improve the situation and start a project of Bigloo/OpenGL binding. I mean you write that you like it being a ASM kind of guy. I think Bigloo its foreign function interface is easy to use. Let me ask another question: have you ever tried Forth? I mean wouldn't Forth come close to your requirements as ASM guy? A personal note: if I had chosen Bigloo from a popular point of view I wouldn't have gone that far, because Bigloo is not very popular. But heck: Bigloo works so well for me, and that makes me sure it was a good decison not to choose a programming language out of reasons for its sole popularity. I think that is also one of the things which a lot of OCaml'er do not understand in your arguing, because OCaml works so well for them; and OCaml wouldn't work better for them if it were more popular, because from their ballpark OCaml has everything for realizing their projects what they can think of. Let me ask another question: It is clear that everybody would like seeing his programming language at the forefront of popularity. However, lets assume that your imaginative programming language, though not very popular, works very well for you; would you still displaying your stance that it must get more popular otherwise you wouldn't want to work in your programming language? Fensterbrett |
|
#3
| |||
| |||
| Siegfried Gonzi wrote: > > a) You should try to get some more information on the Bigloo mailing > list how well it is integrated into Windows-land. I have never used > Bigloo on Windows. The Windows port maintainer e-mailed me a beta of 2.6e within hours of my question to him about status. I take this as a good omen. > b) A very important issue: the interpreter is not really a full > fledged interpreter. Could be important for you as a game developer. > The interpreter for example does not let you use Bigloo its object > system. One must use Bigloo really for reasons if he wants a > compiler! That is much different to a CommonLisp. However, the Bigloo > compiler is very good, sound and reliable and you have got a lot of > choices (basic types, and basic arithmetic operators for floating > point operations) A subtlety; doesn't quite sound like a dealbreaker. I'm only weakly in favor of OO, I'm no adherant. Reminds me of being unable to use OCaml's bytecode compiler and native compiler at the same time. Although I believe it could be done with an extension library, at the price of extra futzing. > c) I can remember on your requirements of things like += and sort of > that; be aware that Scheme does not have such constructs, though, you > may define a set of useful operators yourself. I don't recall that being some hard requirement. I recall participating in a debate about language niceties. On the flip side, I've heard a lot of people bitch and moan about parentheses and I don't quite see what the big deal is. > However, as far as I know there do not exists any OpenGL bindings for > Bigloo. Though, I can remember that one is trying do to such things > for Bigloo. I saw something about an 'experimental' binding, in some archive somewhere. I'm sure I'll find out soon enough. The SX solid modeler purports to work on Bigloo. http://www.sect.mce.hw.ac.uk/~peteri/sx/ > But you could try to improve the situation and start a project of > Bigloo/OpenGL binding. I wouldn't. You may recall that I've been blowing off writing a Nebula2 OCaml ScriptServer. Why would I want to take on a similar 'busywork' project? I'm tired of thinking about 'improving' things just to get started. If there is no OpenGL binding, I'm hoping Bigloo's C FFI is so good that it's not really necessary. > Let me ask another question: have you ever tried Forth? I mean > wouldn't Forth come close to your requirements as ASM guy? Well, the Intel x87 FPU stack blows dead bears. If Forth stack machines bear any resemblance to that sort of line dance, no thanks! I will take a flat bank of registers, thank you very much. > A personal note: if I had chosen Bigloo from a popular point of view > I wouldn't have gone that far, because Bigloo is not very popular. Scheme is not very popular. Even Python is not very popular. I don't call a 2% marketshare, and difficulty finding a job unless you're willing to relocate at least 1000 miles, 'popular'. Popular is like C++, Java, or C#, none of which I will touch. Those are 'the languages to beat', if anyone wants to increase marketshare. One thing Scheme does have over OCaml, is many programmers have heard of it before. > But heck: Bigloo works so well for me, and that makes me sure it was > a good decison not to choose a programming language out of reasons > for its sole popularity. I think that is also one of the things which > a lot of OCaml'er do not understand in your arguing, because OCaml > works so well for them; and OCaml wouldn't work better for them if it > were more popular, because from their ballpark OCaml has everything > for realizing their projects what they can think of. Once upon a time, I ran into exactly the same sentiment from the Python crowd. "Our needs are met; why should we care?" Well, because the Python job market in Seattle is very very weak. What little there is could easily go away, especially in the applications rather than server scripting space. That's why people should care. For OCaml, well, great if those guys have all got OCaml jobs from some quarter. But I have no idea how they got 'em. I figure they created 'em. There's no such thing as an OCaml want-ad around here. Except perhaps for PhD stuff at U. Washington, maybe some Microsoft Research gigs. Pretty high-falutin', those. Not a volume workhorse language. > Let me ask another question: It is clear that everybody would like > seeing his programming language at the forefront of popularity. That's actually not true. Many Pythonistas were quite vocal that they didn't want their language to become more popular, because then they'd have to deal with more stupid people. I find such a viewpoint incredibly shortsighted, but it was nevertheless their view. I see Usenet language communities as being heavily composed of techie introverts. Discussions of extrovert priorities, like popularity, are best avoided with such people. > However, lets assume that your imaginative programming language, > though not very popular, works very well for you; would you still > displaying your stance that it must get more popular otherwise you > wouldn't want to work in your programming language? Yes. I need to make money. There are 2 ways to do that. (1) ship a game that sells well. That's risky and can take a long time to complete, meaning cash flow is a big problem. (2) consult the skills that went into making the game. That requires some measure of popularity. Usenet is not much composed of stakeholders trying to turn a buck, so they don't think about stuff like this. Going from OCaml to Scheme, I think my marginal chances of consulting go up. -- Cheers, www.indiegamedesign.com Brandon Van Every Seattle, WA On Usenet, if you're not an open source hippie who likes to download and play with programming toys all day long, there's something wrong with you. |
|
#4
| |||
| |||
| "Brandon J. Van Every" wrote: > > Yes. I need to make money. There are 2 ways to do that. (1) ship a game > that sells well. That's risky and can take a long time to complete, meaning > cash flow is a big problem. (2) consult the skills that went into making > the game. That requires some measure of popularity. Usenet is not much > composed of stakeholders trying to turn a buck, so they don't think about > stuff like this. > > Going from OCaml to Scheme, I think my marginal chances of consulting go up. Okay, yes a lot of people who are contented with their programming language are kind of PhD students or scientists. In my case I could use whatever tool fits me best; surely there are often cases when one has to use legacy Fortran code which has been developed by some mad brains within the last 20 couple of years. If you refer to consulting. I am not a regual reader of comp.lang.lisp but I think there are the one or other consulter who makes a good living out of CommonLisp. I have never heard of any Scheme consulter. I know you are objecting CommonLisp. But have you ever thought on a life as CommonLisp consulter without any game connection? I mean as far as I gather as a non-native speaker: your writing style is surely above Joe Average that hints often to a person which is eloquent in its behavior. Maybe you were a better consulter than a game developer. Fensterbrett > > |
|
#5
| |||
| |||
| "Brandon J. Van Every" <try_vanevery_at_mycompanyname@yahoo.com> wrote in message news:2tmvohF1vgp85U1@uni-berlin.de... > Siegfried Gonzi wrote: > >> Let me ask another question: have you ever tried Forth? I mean >> wouldn't Forth come close to your requirements as ASM guy? > > Well, the Intel x87 FPU stack blows dead bears. If Forth stack machines > bear any resemblance to that sort of line dance, no thanks! I will take a > flat bank of registers, thank you very much. > imo, math in forth-like languages is not that bad (compared with other things). a a mul b b mul add sqrt I have before considered a stack-driven calculator, which could be like forth but in many cases would replace words with symbols and make spaces optional: a a* b b*+sqrt no strong reason jumped out though, ammusingly enough guile is still fairly handy as a calculator, though my tendency to mistype things is a problem. sometimes I wish for a calculator with a good set of math functions and a syntax resistant to typing errors, maybe with a design that works well for fetching and altering previous commands (eg: like readline). maybe I could write one, eg: minimal; fairly self contained; uses readline so I have nice text handling; .... then syntax becomes a mystery, eg, a c-style infix syntax or some other syntax?... I could have no types other than numbers (hell, for a calculator I don't need much else). but, I don't feel that motivated, I have windows calculator (and its lack of math functions), bash (and its lack of floats), and guile (and its lack of readline). >> Let me ask another question: It is clear that everybody would like >> seeing his programming language at the forefront of popularity. > > That's actually not true. Many Pythonistas were quite vocal that they > didn't want their language to become more popular, because then they'd > have > to deal with more stupid people. I find such a viewpoint incredibly > shortsighted, but it was nevertheless their view. I see Usenet language > communities as being heavily composed of techie introverts. Discussions > of > extrovert priorities, like popularity, are best avoided with such people. > I have heard similar sentiments about scheme... I am one of those people that apparently if I get anything done it tends to be in c. c may be bulky and ugly sometimes, but it integrates well with system level apis and is still rather usable and c can be called from lots of other languages. |
|
#6
| |||
| |||
| "cr88192" <cr88192@remove.hotmail.com> writes: > but, I don't feel that motivated, I have windows calculator (and its lack of > math functions), bash (and its lack of floats), and guile (and its lack of > readline). > You know you can readline-enable Guile? Try the following in your ~/.guile: (use-modules (ice-9 readline)) (activate-readline) HTH, Rotty -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://yi.org/rotty | GnuPG Key: http://yi.org/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 Python is executable pseudocode, Perl is executable line-noise. |
|
#7
| |||
| |||
| "Andreas Rottmann" <a.rottmann@gmx.at> wrote in message news:873c09mpgc.fsf@ivanova.rotty.yi.org... > "cr88192" <cr88192@remove.hotmail.com> writes: > >> but, I don't feel that motivated, I have windows calculator (and its lack >> of >> math functions), bash (and its lack of floats), and guile (and its lack >> of >> readline). >> > You know you can readline-enable Guile? Try the following in your > ~/.guile: > > (use-modules (ice-9 readline)) > (activate-readline) > ok, cool... this helps a lot. |
|
#8
| |||
| |||
| On 2004-10-20, cr88192 <cr88192@remove.hotmail.com> wrote: > > I have before considered a stack-driven calculator, which could be like > forth but in many cases would replace words with symbols and make spaces > optional: > a a* b b*+sqrt Heh, do you realise that you just described the Unix command "dc" almost exactly? 2 2*3 3*+p 13 I don't know it very well, but unfortunately (from the man page) it doesn't seem to have sqrt & lots of other math functions though... I think some HP (physical) calculators also work like this. People seem to love them! ;-) > no strong reason jumped out though, ammusingly enough guile is still fairly > handy as a calculator, though my tendency to mistype things is a problem. I usually use Python when I want to calculate something quickly... Cheers, Julian |
|
#9
| |||
| |||
| Siegfried Gonzi wrote: > > If you refer to consulting. I am not a regual reader of > comp.lang.lisp but I think there are the one or other consulter who > makes a good living out of CommonLisp. I have never heard of any > Scheme consulter. Indeed, some Lisper suggested a few months ago that the market for Lisp is small but nonzero. Lisp is only a hop, skip, and a jump away from Scheme. I didn't find good open source tools support on Windows when I last looked at Lisp. I could double-check my findings. -- Cheers, www.indiegamedesign.com Brandon Van Every Seattle, WA "The pioneer is the one with the arrows in his back." - anonymous entrepreneur |
|
#10
| |||
| |||
| "Brandon J. Van Every" wrote: > OCaml has an inferior C FFI that gets in my way. In general, I think > that > tends to happen in languages that are more interested in the high > level than > the low level. I never actually did any OCaml coding, because of this > and > other stumbling blocks. It was asking me to abandon too much of my > previous > knowledge base and skill. I used to make my bread and butter on "drop > to C, > drop to ASM." A language that doesn't let me do it easily makes me > feel > naked, stressed out, and intractably annoyed. I resist and resist and > resist doing any damn thing in the language, looking for some other > problem > to work on instead. Told you. -- __ Erik Max Francis && max@alcyone.com && http://www.alcyone.com/max/ / \ San Jose, CA, USA && 37 20 N 121 53 W && AIM erikmaxfrancis \__/ Sometimes there's no point in giving up. -- Louis Wu |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.