digitalmars.D - Why not throw everything at dmd
Hello, First of all I want to congratulate Walter to this totally brilliant language and compiler he gives to us. Im just fascinated everyday a little more. I was watching D for half a year now and a week ago I began to implement my diploma thesis with dmd 2 on snow leopard. Its a computer vision application that has to operate in real time. I already had implemented 30 % of it in C++ using OpenCV, Qt and boost. I ended with something horribly overcomplicated. Not that it was only horrible to read because of the lots of different used boost techniques. In the end even my editor gave (QtCreator) up. The program compiled and the editor showed me false syntax errors. The program was then running far to slow (5 fps or something). Probably because of some stupid errors. So I decided to give dmd a try: I used descent and a simple make script. My program is running blazingly fast now. And it took me no time to port c headers from opencv opengl and glut. The bad thing was of course that on osx i dont have a debugger. The wonderful thing is I really didnt need one right now. I use unittets which reduced this need a lot. And furthermore I simply dont make mistakes in this language because this language doesnt let you. It lets you conentrate on the matter not on things like : Do I need a scoped boost ptr or rather a tr1 sharedptr or a boost shared ptr or a pointercontainer whatever...etc. But you all know that anyway. And now to the Subject: Im using a simple makefile which just throws every source file at the compiler and also all the link commands. Just because I was lazy and thought i can change it later if it hurts too much. So everytime i hit the compile button im doing a complete rebuild. Its a really quite big project now. (using templates ctfe and etc). It takes about ONE SECOND to rebuild. Its just fascinating. Its faster to rebuild the whole project than compilng only one sourcefile of the corresponding c++ project with g++. Working at siemens for a big project in c++ on win, I know that I am sitting most of the day there waiting until it compiled. dmd is magic. and the language is just the language ive ever dreamed of. In the end this brings me to a sad thing: I nearly never get dsource projects to compile. And most of the time (I guess) its about build system problems. So why dont you all write these very simple makefiles and throw everything at the compiler? Such makefiles would be very easy to debug and furthermore they really work everywhere. cheers
Jan 19 2010
You may give http://bitbucket.org/h3r3tic/xfbuild/wiki/Home a try. Though it still lacks some configuration file feature you don't need to specify every source file yourself ;)
Jan 19 2010
%u wrote:In the end this brings me to a sad thing: I nearly never get dsource projects to compile. And most of the time (I guess) its about build system problems. So why dont you all write these very simple makefiles and throw everything at the compiler? Such makefiles would be very easy to debug and furthermore they really work everywhere.DMD is fast. GDC and LDC however, aren't. :)cheersYou too.
Jan 22 2010
downs Wrote:%u wrote:Together with the tango/phobos/dmd1/dmd2 incompatibilities I rarely ever actually compile anything from dsource.In the end this brings me to a sad thing: I nearly never get dsource projects to compile. And most of the time (I guess) its about build system problems. So why dont you all write these very simple makefiles and throw everything at the compiler? Such makefiles would be very easy to debug and furthermore they really work everywhere.Interesting, I didn't know that. I also rebuild my whole project every build and love that I can program in really small increments building every few minutes or so. ( And debug/refactor by just repeatedly building/fixing ) It even kind of annoys me that builing (bud) takes something like 10 seconds on my p4. This means I will keep using DMD as long as I can and only maybe in at the end try GDC and LDC for any performance improvement.DMD is fast. GDC and LDC however, aren't. :)Cheers to you two as well :)cheersYou too.
Jan 22 2010