Thread: [Sunuml-developers] Language?
Status: Planning
Brought to you by:
lazaruslong
From: Matthew S. <m....@my...> - 2008-09-30 14:25:07
|
Hi all, Back on the StarUML forums there was some discussion of which language to use for SunUML. Now that the SunUML project is starting to take shape, I thought I'd kick the discussion off here. (Apologies if I'm repeating myself from those forums) The two languages that popped up were C++ and Python. While I like C++ as a language, I don't feel that a pure C++ implementation would benefit the project. It has a high learning curve and I think it would slow the project down. Python is an easy language to learn and program in. People with experience with other languages should pick it up easily. This will allow us to move rapidly. It can appear alien to some as it is white space dependent, but that dependency is one of the strengths - it helps in forcing a clean code style. Python is easy to use with C/C++ and parts of the code (eventually all?) could easily be moved to C++. The python disttools allow for inclusion of uncompiled and compiled C/C++ modules. However, in any language, it is easy to write code, but it is harder to write good code. Python may open the project to unexperienced developers and code quality may suffer. But that's a quality of open source, the experienced developers will hopefully pick up on poor code and gently guide submitter along the correct tracks. Thoughts? |
From: Aidar T. <ata...@ya...> - 2008-10-11 20:00:49
|
Apparently user documentation contains quite a few pictures of StartUML UI. We can even get the icons from there and re-use. http://staruml.sourceforge.net/docs/user-guide(en) |
From: <nee...@gm...> - 2008-10-01 16:39:47
|
Well, I wrote code with Python when I went to school because the teacher was very positive about that language. But we had our difficulties with that - among other things because (what you mentioned) the white space dependency and also the bad editors (perhaps the IDEs are improved). C++ is more ... I will say "usable". And I can remember the problems with the installation of Python and the installation of the compiled code ... But I can imagine to have a new try and to give Python a new chance ... What's your opinion, Lazalong and Aids? -reeny- -------- Original-Nachricht -------- > Datum: Tue, 30 Sep 2008 14:13:02 +0100 > Von: Matthew Slane <m....@my...> > An: sun...@li... > Betreff: [Sunuml-developers] Language? > Hi all, > > Back on the StarUML forums there was some discussion of which language > to use for SunUML. Now that the SunUML project is starting to take > shape, I thought I'd kick the discussion off here. (Apologies if I'm > repeating myself from those forums) > > The two languages that popped up were C++ and Python. > > While I like C++ as a language, I don't feel that a pure C++ > implementation would benefit the project. It has a high learning curve > and I think it would slow the project down. > > Python is an easy language to learn and program in. People with > experience with other languages should pick it up easily. This will > allow us to move rapidly. It can appear alien to some as it is white > space dependent, but that dependency is one of the strengths - it helps > in forcing a clean code style. Python is easy to use with C/C++ and > parts of the code (eventually all?) could easily be moved to C++. The > python disttools allow for inclusion of uncompiled and compiled C/C++ > modules. > > However, in any language, it is easy to write code, but it is harder to > write good code. Python may open the project to unexperienced > developers and code quality may suffer. But that's a quality of open > source, the experienced developers will hopefully pick up on poor code > and gently guide submitter along the correct tracks. > > Thoughts? > > > > > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the > world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Sunuml-developers mailing list > Sun...@li... > https://lists.sourceforge.net/lists/listinfo/sunuml-developers -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Doreen -= Reeny =- Strowinski * Bremen ~Pederswerder~ * (Programmierer -> Erklärt so einiges ...) * * Motto: Lieber reich und gesund als arm und krank! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GMX Kostenlose Spiele: Einfach online spielen und Spaß haben mit Pastry Passion! http://games.entertainment.gmx.net/de/entertainment/games/free/puzzle/6169196 |
From: Steven G. <laz...@gm...> - 2008-10-03 06:18:00
|
Hello, IMO both C+ and Python have advantages and disadvantages but as I said in another email I don't mind trying Python. (I will need to relearn it ;) My heart will go to the man-power we have. I prefer to have 1 good dedicated programmer in any language than several that stop after a few days. Can you all give an estimate on the level of commitment you can provide? Also before we select for a language we should discuss what we want to achieve. A "simple copy" of StarUML or should we add features? Which ones? I updated your rights on the SF wiki & forum. ....and I still don't like the settings SF made - they are cumbersome :( *@Matthew *Do you want to be developer ? Or do you wait we decide for Python? Regards, Steven |
From: Matthew S. <m....@bl...> - 2008-10-07 17:35:59
|
Allo, Firstly, I used the wrong email address last time, sorry for any confusion - thunderbird is set to that one as default even though I don't use it that much now. Steven Gay wrote: > Hello, > > > IMO both C+ and Python have advantages and disadvantages > but as I said in another email I don't mind trying Python. > (I will need to relearn it ;) I'm advocating a bit of both. Get something up and running in python. For a lot of the code, python will do, this is after all a GUI based program that will spend most of it's time waiting for user input. Where things feel sluggish, reimplement in C++ to take advantage of the speed that C++ offers. Eventually, maybe move the whole codebase to C++? Something like Mcmillan or freeze could be used to distribute the app where python isn't already installed? I like working in both languages, but I must have commited a big sin somewhere, I code mainly in VBA these days. So both languages need a polish. > > My heart will go to the man-power we have. > I prefer to have 1 good dedicated programmer in any language > than several that stop after a few days. > > Can you all give an estimate on the level of commitment you can provide? > This is a difficult question for me to answer. I've got an 8 week old son and am a father for the first time, so I don't know how much time I can dedicate. At the moment it's not a great deal, weekends tend to be filled with family and friends visiting and work is hectic. Combine that with sleepless nights and I'm lucky to get any downtime, let alone time to contribute to open source projects. When the family/friend visits slow down and a few projects at work finish, I'll have more time. Ironically, the main projects at work are designed so that I have more time to work on projects than day to day stuff and have to work less at the weekend/evenings. > > Also before we select for a language > we should discuss what we want to achieve. > > A "simple copy" of StarUML or should we add features? > Which ones? I haven't checked the code any further than skimming over a source file. But I'd like to ensure a good separation of UI and core, so we can decide on a GUI library to use for the main project, but other people could implement their own using a different toolkit. Maybe look at using MVC patterns to acheive this (if not already used)? We could really take this to the limits and develop an ajax front end ;) I don't like the default single file structure, I'd prefer a project directory with separate files in. I don't know why, I'm just uncomfortable having all the diagrams lumped together in one file. The current way diagrams are drawn feels clunky to me, this is a big area for improvement. > > I updated your rights on the SF wiki & forum. > ....and I still don't like the settings SF made - they are cumbersome :( > > > > *@Matthew *Do you want to be developer ? > Or do you wait we decide for Python? > I'd love to, but see above!! As my little one gets older and I learn the ropes of fatherhood. I'm sure I'll get more time. Until I can set time aside for long coding sessions, I'm sure there'll be plenty of small tasks that I could take on. It's taken me 3 days to write this email! Matt |
From: Steven G. <laz...@gm...> - 2008-10-08 04:08:00
|
Hello all, 2008/10/8 Matthew Slane <m....@bl...> > > IMO both C+ and Python have advantages and disadvantages > > I'm advocating a bit of both. Get something up and running in python. > For a lot of the code, python will do, this is after all a GUI based > program that will spend most of it's time waiting for user input. Where > things feel sluggish, reimplement in C++ to take advantage of the speed > that C++ offers. Eventually, maybe move the whole codebase to C++? > Something like Mcmillan or freeze could be used to > distribute the app where python isn't already installed? It seems the Python first and C++ later (or when needed) is slowly gaining momentum. > Can you all give an estimate on the level of commitment you can provide? > > > This is a difficult question for me to answer. I've got an 8 week old > son and am a father for the first time, so I don't know how much time I > can dedicate. I have boys of 4 and 2 years and I try to work at home since one year. So by experience this means you still have about one year where you can have some free time (of course it depends on the child character). > A "simple copy" of StarUML or should we add features? > > Which ones? > I haven't checked the code any further than skimming over a source > file. But I'd like to ensure a good separation of UI and core, so we > can decide on a GUI library to use for the main project, but other > people could implement their own using a different toolkit. Maybe look > at using MVC patterns to acheive this (if not already used)? We could > really take this to the limits and develop an ajax front end ;) > By experience once we choose a gui it will stick for a long time :) As we all seem to agree we will use wxWidget (either the c++ or the Pyhton version http://www.wxpython.org/) I don't like the default single file structure, I'd prefer a project > directory with separate files in. It should be possible to have both and set it via an editor option. I see several advantages of one big file: easy to move/deploy/backup/transfer/email .. :D But mostly it is easier to synchronise the content in a collaborative project. For example if you change a class name you must first lock all files on writing so that nobody else can modify a file before your changes or they might be inconsistencies. Anyway if we plan to support collaborative work I think we should use a database from the start. MySql ? I would love to support the *SQLite* but it doesn't support concurrent access (except via database-wide lock on writing) so if we use it we must first setup a "server" to handle user modifications. But badder it doesn't have right management so we can't simply set the rights on table at the database level (which would be safer). What do you think? MySQL? The current way diagrams are drawn feels clunky to me, this is a big > area for improvement. We wait your suggestions on the wiki :) > > *@Matthew *Do you want to be developer ? > > Or do you wait we decide for Python? > > > I'd love to, but see above!! Done - don't worry to much we will certainly find tasks for you :) Steven |