what programming tools make programming easier?
i would like to start a new programming project (employee affairs program) , and i don't
mind to start learning a new language with it ( i used to program in visual basic 6 and know
some c++ and java) .
So i need a solution that will meet the following criteria :
1) easy ,rapid,functional programming (do more with less code but still can do anything i
want for the type of programs mentioned above)
2) the source code should work in windows and linux alike(cross platform).
3) the solution should be able to easily connect to mysql , make 2D graphs and input
images from scanner.
4) i want to design my GUI visually not in code.
5) full support for international languages and right-to-left reading order in all aspects (
controls ,graphs,reports ... etc)
so : what programming language / editor / tools / libraries will be the best for that ?
.NET ? java ? python ? others ?
thanks for help
Re: what programming tools make programming easier?
I would personally recommend Haskell/Gtk2Hs/Glade, especially on the ‘do more with less code’ front. Whichever language you go with, getting images from the scanner is going to involve contacting C code, but Haskell's GHC has a very good foreign function interface — using some interface libraries and preprocessors, it's possible to import a C function into Haskell in only a couple of lines (up to perhaps ten depending on the function, of course). The Glade editor allows you to build, graphically, a language-independent GTK interface, and the library lets you then add hooks from your code. GTK has good support for internationalisation built-in, and Haskell uses Unicode by default internally. Haskell code, despite being natively compiled, is highly portable, and almost all the code you write should compile and run equally well on any platform with GHC.
That said, Haskell is very different from VB6, C++, or Java. If you don't have time to learn, you might prefer Python. Python also has the advantage of the excellent SQL ORM, SQLAlchemy, although of course you don't even have the type safety of C++, let alone Haskell's strict and powerful typing. There'll be a lot of testing involved, and since Python isn't a pure functional language, it's not going to be as easy as testing a Haskell app would. Python's support for Unicode can be a little more involved than Haskell's, since it's not Unicode by default (not until Python 3, anyway). Python's foreign function interface isn't nearly as good as GHC's, but it's perfectly serviceable, though you'll probably have to write some interfaces in C (unless you can get SWIG to work for your scanner interface — it needs source, though).
For the graphs you'll probably want GraphViz, which is the major graphing library out there today. Both Haskell and Python have good bindings to it.
Editor... doesn't make a huge amount of difference with a good language. Personally I like emacs, but if you can't code it comfortably in Windows' Notepad then there's something wrong with the programming language (or perhaps the design) you're using! :p
Re: what programming tools make programming easier?
There's F# : the functional .NET language. All the features of .NET in a functional language.
It plugs into Visual Studio too.
Darwen.
Re: what programming tools make programming easier?
Yeah, there is that, but it's strictly-evaluated, which is a big increase in verbosity right there. Also, it's impure, which means it can't do some of the neater things Haskell can.