Come on. From this two sentences you think you have insight into my
coding approach. I would say you probably don't have the slightest
clue what I use as coding approach.
Well, it does tell that you rely on the compiler to check the type of an
object. I do say that a pure static typing is a PITA when aiming at
reusable code. I had to do coding where I could not foresee all possible
data types being used - just "objects".
With dynamic typing in mind you probably will not make any errors.
Huh? Oh my. Did you ever really do any reasonably sized app for
production use? Wow - I will not let my fellow co-workers here or read
that statement of yours. They might be asking for doing dynamic typing
/only/ in the future...
Do you ignore possible type errors and just omit code coveage tests?
When strictly needed then I am asking my long-term pal for help (assert).
C is probably not the best language to see an advantage in a
static type system.
Which language do you have in mind as being appropriate ?
If you wanted to impress me you should have started coding much
earlier.
Sorry. That's a thing you need to address to my parents. They haven't
been together earlier, so ...
I started to study computer science in 1980 and I have
programmed since 1978 in many languages. I have more than 20 years
C/C++ experience, approx. 12 years Pascal and also in many other
languages (Java, ...) . About dynamic languages: The predecessor
of Seed7 was a dynamic language and I used it for more then 12
years. So I can also say "Been there, done that".
And Seed7 was the ultimate result of all this experience?
Just that I
introduced static type checks and other things to a dynamic
language. Seed7 still has dynamic features. It took me a very
long to find it out: Static and dynamic features can be combined,
but it is necessary to explicitely state when you want to do
something dynamic. You define DYNAMIC functions which dispatch
at runtime. See
http://seed7.sourceforge.net/manual/objects.htm
And Lisp does it the other way: Give freedom to the programmer and
provide ways to limit freedom when she explicitely asks for it. You
know - Lisp comes with Bondage Included.
Do you want to establish yourself as higher ranking than me?
Does it make your arguments (where are they anyway) better?
Cool down, I belive that you have knowledge, but I have also
knowledge.
Now you're going psycho. Another case of inferiority complex.
I looked. But I couldn't find reference to an application. You want me
to name one of mine ? (Show-me-yours-and-I'll-show-you-mine games are so
exciting ;-)
What do you mean with that sentence?
Do you own a mac or assume that I use one?
Well, I don't use Mac OS X, but I have reports that Seed7 can be
compiled on Mac OS X. You just need to install XCODE and then you
can use the makefile mk_osx.mak (Until now I was not able to check
it, but the chances are intact).
Ok, I got hooked. So I downloaded Seed7 source code from Sourceforge. I
then issued a
frgo@ccde007 ~/Downloads/seed7/src
$ make -f mk_osx.mak
and got:
cc -O2 -g -Wall -Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c hi.c
hi.c:28:21: error: version.h: No such file or directory
In file included from hi.c:35:
sigutl.h:37: warning: function declaration isn’t a prototype
In file included from hi.c:36:
data.h:137: warning: function declaration isn’t a prototype
In file included from hi.c:37:
infile.h:95: warning: function declaration isn’t a prototype
infile.h:96: warning: function declaration isn’t a prototype
infile.h:97: warning: function declaration isn’t a prototype
infile.h:98: warning: function declaration isn’t a prototype
infile.h:99: warning: function declaration isn’t a prototype
infile.h:100: warning: function declaration isn’t a prototype
infile.h:101: warning: function declaration isn’t a prototype
infile.h:102: warning: function declaration isn’t a prototype
infile.h:103: warning: function declaration isn’t a prototype
infile.h:104: warning: function declaration isn’t a prototype
In file included from hi.c:38:
syvarutl.h:63: warning: function declaration isn’t a prototype
syvarutl.h:64: warning: function declaration isn’t a prototype
In file included from hi.c:39:
identutl.h:43: warning: function declaration isn’t a prototype
identutl.h:44: warning: function declaration isn’t a prototype
identutl.h:45: warning: function declaration isn’t a prototype
identutl.h:46: warning: function declaration isn’t a prototype
In file included from hi.c:40:
entutl.h:54: warning: function declaration isn’t a prototype
entutl.h:55: warning: function declaration isn’t a prototype
entutl.h:56: warning: function declaration isn’t a prototype
entutl.h:57: warning: function declaration isn’t a prototype
entutl.h:58: warning: function declaration isn’t a prototype
entutl.h:59: warning: function declaration isn’t a prototype
entutl.h:60: warning: function declaration isn’t a prototype
entutl.h:61: warning: function declaration isn’t a prototype
entutl.h:62: warning: function declaration isn’t a prototype
In file included from hi.c:41:
findid.h:51: warning: function declaration isn’t a prototype
findid.h:52: warning: function declaration isn’t a prototype
findid.h:53: warning: function declaration isn’t a prototype
findid.h:54: warning: function declaration isn’t a prototype
findid.h:55: warning: function declaration isn’t a prototype
In file included from hi.c:42:
symbol.h:67: warning: function declaration isn’t a prototype
symbol.h:69: warning: function declaration isn’t a prototype
symbol.h:70: warning: function declaration isn’t a prototype
In file included from hi.c:43:
analyze.h:35: warning: function declaration isn’t a prototype
analyze.h:36: warning: function declaration isn’t a prototype
In file included from hi.c:44:
traceutl.h:74: warning: function declaration isn’t a prototype
traceutl.h:75: warning: function declaration isn’t a prototype
traceutl.h:76: warning: function declaration isn’t a prototype
traceutl.h:77: warning: function declaration isn’t a prototype
traceutl.h:78: warning: function declaration isn’t a prototype
traceutl.h:79: warning: function declaration isn’t a prototype
traceutl.h:80: warning: function declaration isn’t a prototype
traceutl.h:81: warning: function declaration isn’t a prototype
traceutl.h:82: warning: function declaration isn’t a prototype
traceutl.h:83: warning: function declaration isn’t a prototype
traceutl.h:84: warning: function declaration isn’t a prototype
traceutl.h:85: warning: function declaration isn’t a prototype
traceutl.h:86: warning: function declaration isn’t a prototype
traceutl.h:87: warning: function declaration isn’t a prototype
traceutl.h:88: warning: function declaration isn’t a prototype
traceutl.h:89: warning: function declaration isn’t a prototype
traceutl.h:90: warning: function declaration isn’t a prototype
traceutl.h:91: warning: function declaration isn’t a prototype
traceutl.h:92: warning: function declaration isn’t a prototype
traceutl.h:93: warning: function declaration isn’t a prototype
traceutl.h:94: warning: function declaration isn’t a prototype
traceutl.h:95: warning: function declaration isn’t a prototype
traceutl.h:96: warning: function declaration isn’t a prototype
traceutl.h:97: warning: function declaration isn’t a prototype
In file included from hi.c:45:
exec.h:40: warning: function declaration isn’t a prototype
exec.h:41: warning: function declaration isn’t a prototype
exec.h:42: warning: function declaration isn’t a prototype
exec.h:43: warning: function declaration isn’t a prototype
exec.h:44: warning: function declaration isn’t a prototype
exec.h:45: warning: function declaration isn’t a prototype
exec.h:46: warning: function declaration isn’t a prototype
In file included from hi.c:46:
option.h:60: warning: function declaration isn’t a prototype
In file included from hi.c:47:
runerr.h:50: warning: function declaration isn’t a prototype
runerr.h:51: warning: function declaration isn’t a prototype
runerr.h:52: warning: function declaration isn’t a prototype
runerr.h:53: warning: function declaration isn’t a prototype
runerr.h:54: warning: function declaration isn’t a prototype
runerr.h:55: warning: function declaration isn’t a prototype
runerr.h:56: warning: function declaration isn’t a prototype
runerr.h:57: warning: function declaration isn’t a prototype
In file included from hi.c:49:
flt_rtl.h:61: warning: function declaration isn’t a prototype
flt_rtl.h:62: warning: function declaration isn’t a prototype
flt_rtl.h:63: warning: function declaration isn’t a prototype
flt_rtl.h:64: warning: function declaration isn’t a prototype
flt_rtl.h:65: warning: function declaration isn’t a prototype
flt_rtl.h:66: warning: function declaration isn’t a prototype
flt_rtl.h:67: warning: function declaration isn’t a prototype
flt_rtl.h:68: warning: function declaration isn’t a prototype
flt_rtl.h:69: warning: function declaration isn’t a prototype
In file included from hi.c:50:
scr_drv.h:58: warning: function declaration isn’t a prototype
scr_drv.h:59: warning: function declaration isn’t a prototype
scr_drv.h:60: warning: function declaration isn’t a prototype
scr_drv.h:61: warning: function declaration isn’t a prototype
scr_drv.h:62: warning: function declaration isn’t a prototype
scr_drv.h:63: warning: function declaration isn’t a prototype
scr_drv.h:64: warning: function declaration isn’t a prototype
scr_drv.h:65: warning: function declaration isn’t a prototype
scr_drv.h:66: warning: function declaration isn’t a prototype
scr_drv.h:67: warning: function declaration isn’t a prototype
scr_drv.h:68: warning: function declaration isn’t a prototype
scr_drv.h:69: warning: function declaration isn’t a prototype
scr_drv.h:70: warning: function declaration isn’t a prototype
hi.c:60: warning: function declaration isn’t a prototype
make: *** [hi.o] Error 1
This is on OS X 10.5.6 with Xcode 3.1.2 (the latest one). So, aside from
the compile warnings, there's a whole file missing here (hint:
version.h).
As I was *really* hooked I took the trouble and fired up Xcode, created
an new project and imported all source files into it.
The first run of a build showed that even more files are missing:
version.h, gmp.h - at that point I decided to give up.
Based on the 1111 errors and 809 warning the build run gave me I'd
estimate more than a day of effort to get this to compile on OS X.
As it stands a lot of the errors are depending on gmp.h...
At least I tried.
Frank