Announcement for programmers...

Discussion about: tracktion.com
Post Reply New Topic
RELATED
PRODUCTS

Post

haydxn wrote:yeah i learned loads about XML trying to write that app. enough to build the XML class which seemed to almost be self-aware! storing data in it was a breeze and then a simple call to a node would export itself (and contents) as a file. easy as pie! i spent about 2 months on that i reckon... and now it's useless!!! DAMN YOO!! ;) it's nice to have done it tho, at least i 'know' that i 'get it' now. for sure. !
Just for ranting's sake, this is the main thing which puts me off C++. There is no decent high-level (STL doesn't count) standard library that's universally accepted and available. Everyone ends up rewriting basic stuff like XML manipulators. In Java or C# or Python or most other modern languages, you have a huge and well-thought-out library which supports these needs and lets you get on with the unique applications you're building.

I used to really like C++, and I think it's a very elegant language, but with the advent of C#, I predict that C++ will fade away from the limelight over time.

Martin
"Life is both a major and a minor key"
-- Travis, Side

Post

valley wrote:Seriously, I have been toying with the idea of leaving Kylix/Pascal behind at work since Borland seem to be letting it die, but right now the serious contender for replacement language/IDE is Java. :-o
Have you had a look at C#? I just read the book on it, and it's probably my new favourite compiled (well, sorta) language. It's like Java done right. And with mono maturing, it's becoming viable on non-MS platforms.

Martin
"Life is both a major and a minor key"
-- Travis, Side

Post

Karbon L. Forms wrote:Hmm. Didn't like it much. Can't remember why though. Should give it a try again.
It's not that Eclipse kicks ass. It's that it kicks so much ass the direction of curvature of the ass area may actually reverse.

Seriously, try it. It gets better each time I use it!
"Life is both a major and a minor key"
-- Travis, Side

Post

optilude wrote: Have you had a look at C#? I just read the book on it, and it's probably my new favourite compiled (well, sorta) language. It's like Java done right.
At the risk of turning this into a languages discussion... out of curiosity, what's done wrong in java that's done right in C#?

Post

optilude wrote: Have you had a look at C#? I just read the book on it, and it's probably my new favourite compiled (well, sorta) language. It's like Java done right. And with mono maturing, it's becoming viable on non-MS platforms.
We did look at it, but the Mono part is the stumbling block for us. Linux is the primary environment here with a few systems being MS, and a small scattering of Macs. Our focus has to be on Linux first and Windows second. C# is almost entirely the wrong way round for us.
Someone shot the food. Remember: don't shoot food!

Post

Karbon L. Forms wrote: Have you not seen the JUCE String class? f**king awesome! I hate char* too.
Not yet. I'm unlikely to get a chance to look at JUCE until at least next week. :(
Language is irrelevant to readibility.
<cough>fortran</cough>
C++ can look like line noise but I do all my code Java style. I rarely comment but use whopping great big descriptive variable names and choose structures that are easy to comprehend and let the compiler do the optimizing.
That's true enough. I just find Object Pascal encourages me to keep my coding clean when deadlines might otherwise tempt me towards terse illegible code.
Have you tried Intellij IDEA?
I haven't. I'll take a look at it.
Someone shot the food. Remember: don't shoot food!

Post

ageis wrote:At the risk of turning this into a languages discussion... out of curiosity, what's done wrong in java that's done right in C#?
Off the top of my head... auto boxing of primitives, ability to pass primitives by reference, out parameters on functions allowing you to return variables as reference function parameters, better-grained control over method overloading with 'new' and 'overrides', ability to overload operators on new types, the delgates and multicast delegates model for event dispatch is really elegant, namespaces make more sense than packages, you can put several public classes in one file where this makes sense, deployment is much easier (throwing jars around is a pain, a .NET assembly can be a .exe file or a collection of files) and cleaner, ability to make raw strings (ignores all escape characters), and then there are lot of little things in the library which simply appear better thought-out.

Basically, the reason for all this is that Microsoft has had a chance to learn from Java's mistakes. That said, I've not yet done any sizable project in C#, so I may eat my words. But it does look like a really good language.

Tiger, Java 1.5 out soon, does have auto-boxing and generics (which will be really good) and a foreach loop (which C# also has) and several other improvements, so the race is hotting up, but I think for standalone desktop applications my languages of choice at the moment would be C# or Python depending on the type of application. For web applications, ASP.NET with C# code-behinds look quite good and I touched them briefly at work, though I think J2EE is a more mature and comprehensive (and complex!) platform. My favourite platform at the moment is Plone, build on Zope and the Python language.

Martin
"Life is both a major and a minor key"
-- Travis, Side

Post

wow... the conversation is absolutely amazing... and *entirely* over my head! :lol: I don't understand a thing... I'll crawl back under a rock now (damnit, i knew I should have studied harder). :oops:
ModuLR / Radio

Post

ModuLR wrote:wow... the conversation is absolutely amazing... and *entirely* over my head! :lol: I don't understand a thing... I'll crawl back under a rock now (damnit, i knew I should have studied harder). :oops:
You wrote the child dude. Stop being silly.
.................................
"Hell is other People" J.P.Sartre
.................................

Post

optilude wrote: Tiger, Java 1.5 out soon, does have auto-boxing and generics (which will be really good) and a foreach loop (which C# also has) and several other improvements, so the race is hotting up, but I think for standalone desktop applications my languages of choice at the moment would be C# or Python depending on the type of application. For web applications, ASP.NET with C# code-behinds look quite good and I touched them briefly at work, though I think J2EE is a more mature and comprehensive (and complex!) platform. My favourite platform at the moment is Plone, build on Zope and the Python language.

Martin
The one thing that's really put me off C# (I'm a Java/Python guy in real life) is that I'm expected to explicitly declare virtual functions. WTF? If there's anything just about everybody thinks is wrong in C++ it's explicit virtual functions.

These days I use Jakarta Tapestry for web apps:
http://jakarta.apache.org/tapestry/

I liked Zope at first but the more I worked with the more I hated it. It's become so dominant in the Python web space now that it's stunted the growth of other alternatives.

Post

thanx jules, that are great news :)

Post

seems WONDERFULL !!!!

giant step to me !

Link

Post

kuniklo wrote: The one thing that's really put me off C# (I'm a Java/Python guy in real life) is that I'm expected to explicitly declare virtual functions. WTF? If there's anything just about everybody thinks is wrong in C++ it's explicit virtual functions.
Yeah, I suppose it's a bit annoying, but it does make you think about your design more. You shouldn't just make all your functions virtual because oh, I may want to override them some day, who knows. Same as people who make all their instance variables protected. It's BS. Protected is typically your least-used modifier. An instance variable should be private, and a method non-overridable (though i admit I rarely bother to declare methods as final in Java) unless it makes sense in the design of the object to do so.

I do wish C# had Java's distinction between checked and unchecked exceptions, though, come to think of it. Some exceptions should definitely be checked.
These days I use Jakarta Tapestry for web apps:
http://jakarta.apache.org/tapestry/
Looks interesting. The Jakarta project have a lot of really cool tools, but I've kinda lost track. It also looks well documented, which is crucial. There's nothing wrong with potentially useful tools made useless by making it take longer to learn how the hell they work than re-implementing them from scratch.
I liked Zope at first but the more I worked with the more I hated it. It's become so dominant in the Python web space now that it's stunted the growth of other alternatives.
Man, I love Zope. :-) More specifically, I love Plone. Plone gives Zope a lot more structure - it's usually very clear how something should be coded to fit with the rest of the system. I do very little refactoring in Plone - much less than I tend to do in projects in Java, say. I've done several major projects using Plone, and it's always fun to use. It really lets me get on with functionality without worrying about writing a million queries to extract information from a database, and it's got the cleanest and most sensible separation of code, content and presentation I've ever used.

It's not for every type of project of course, but I find it works well for content-centric applications (Plone is a CMS out of the box, after all) with semi-structured data.

I agree that Zope has its quirks, but I happen to rather like most of them. Acquisition, once you get used to the idea, gives you so much power without over-complicating things. I

Martin
"Life is both a major and a minor key"
-- Travis, Side

Post

Since everyone is so far off topic rambling about which language is best, I thought I might as well throw in a plug for Buoy, a better user interface library for Java which my brother is developing:
http://sourceforge.net/projects/buoy/
:D
Incomplete list of my gear: 1/8" audio input jack.

Post

10 PRINT "Jules, you are the man, even though I don't know from programming."
20 GOTO 10

Greg

Post Reply

Return to “Tracktion”