What happened to my OCaml projects? (was Re: Eclipse?)

This is a discussion on What happened to my OCaml projects? (was Re: Eclipse?) within the Other Technologies forums in category; 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 ...

Go Back   Application Development Forum > Other Technologies

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 10-20-2004, 05:43 AM
Brandon J. Van Every
Guest
 
Default What happened to my OCaml projects? (was Re: Eclipse?)

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

Reply With Quote
  #2  
Old 10-20-2004, 06:10 AM
Siegfried Gonzi
Guest
 
Default Re: What happened to my OCaml projects? (was Re: Eclipse?)

>

"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

Reply With Quote
  #3  
Old 10-20-2004, 07:28 AM
Brandon J. Van Every
Guest
 
Default Re: What happened to my OCaml projects?

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.

Reply With Quote
  #4  
Old 10-20-2004, 08:57 AM
Siegfried Gonzi
Guest
 
Default Re: What happened to my OCaml projects?

"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

>
>


Reply With Quote
  #5  
Old 10-20-2004, 09:49 AM
cr88192
Guest
 
Default Re: What happened to my OCaml projects?


"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.



Reply With Quote
  #6  
Old 10-20-2004, 11:08 AM
Andreas Rottmann
Guest
 
Default Re: What happened to my OCaml projects?

"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.
Reply With Quote
  #7  
Old 10-20-2004, 11:34 AM
cr88192
Guest
 
Default Re: What happened to my OCaml projects?


"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.



Reply With Quote
  #8  
Old 10-20-2004, 11:47 AM
Julian Brown
Guest
 
Default Re: What happened to my OCaml projects?

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
Reply With Quote
  #9  
Old 10-20-2004, 01:36 PM
Brandon J. Van Every
Guest
 
Default Re: What happened to my OCaml projects?

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

Reply With Quote
  #10  
Old 10-20-2004, 06:46 PM
Erik Max Francis
Guest
 
Default Re: What happened to my OCaml projects? (was Re: Eclipse?)

"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
Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 06:54 AM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.