
Looking at ASP.net and C# tutorials right now to see what I can pick up, want to have some more solid programming abilities.
Moderator: Thanas
GCC's C++ infrastructure is pretty slow, IIRC.Destructionator XIII wrote:g++ helloworld.cppHow is C++ slow?
tick tock tick tock, ugh finally.
You mean threaded AVL trees? Good, now bit-pack them for memory usage approaching information-theoretic optimality and make them fully concurrent with lockless read and write. Then you will have my favourite CPU-side simple data structure (GPUs are a different kettle of fish).Dave wrote:C++ -- I'm currently taking a CS class on data structures. Who made an AVL tree with iterators? This guy. Man, that was hard.
As designated representative of the Military Industrial Complex (tm) you are only allowed to program in, endorse or advocate Ada. With an exception for FORTRAN, for nuclear weapon simulation only.MKSheppard wrote:10 PRINT I LOVE BASIC
20 GOTO 10
Sure, to the same extent that Excel macro programming does.bobalot wrote:Does MATLAB programming count? I used it at university and extensively at work.
I don't see why that is fundamentally any harder in C than object oriented languages. It is somewhat easier to fuck up with real pointers vs references and auto null checking, but that's a code-level detail, the program structure will be the same.adam_grif wrote:After 2 years of object oriented programming in Java / AS3 with nice easy ways to do most of the things I needed to do, suddenly I'm tasked with building and traversing graphs in C.
Java is actually relatively light on the object oriented kool aid (IMHO OO is /still/ overhyped thirty years after it started getting attention); it does actually have primitive types. It does not succumb to the insane belief that computers don't really manipulate bits, although autoboxing will allow you to delude yourself if you insist. Smalltalk and most modern scripting languages do.phongn wrote:I think it went a little overboard in "object oriented everything"
This is a question of operator overloading, not OO vs non-OO. I agree that Java could have reasonably permitted a few more standard overloads, but I do not agree with user-defined overloads. They are one of the most dangerous and tempting features to abuse and create obfuscated code. Java was designed to appeal more to organisations than individual programmers; organisations want maintainable code bases, programmers (generally) want to do what the hell they like. Since most programmers suck, I derrive vicious pleasure from watching scripting babies whine about Java restrictions, as the compiler finally enforces some much needed discipline.phongn wrote:and then broke its own philosophy for string concatenation! It's much more natural to go "NUMBER_TYPE + NUMBER_TYPE" rather than "NUMBER_TYPE.add(NUMBERTYPE)"
Are you sure? This used to be true, but the .NET standard library has been making massive strides forward. There are now combined language/library features such as LINQ that are massively convenient for certain kinds of programming. Of course the VM still sucks compared to Java's, chances of Microsoft engineers ever making systems software as good as Sun/Oracle engineers are negligible.Reminds me a lot of Java (no surprise there) but with its own weirdness (and the .NET library is not as good as the Java standard one).
That isn't so much a language problem, as the massive onslaught of bullshit bloated design patterns that overpaid 'enterprise architects' (aka awful programmers promoted until they can't break the code directly any more) come up with. The worst is the massive towering garbage pile that is the Apache open source Java enterprise, a sprawling mass of interconnected projects that seemingly exist only to wrap, obfuscate and rewrap each other. Because apparently having a call stack depth of less than 100 is a sign that your software is 'insufficiently structured'. The same people have fucked up C# just as badly, just with slightly shorter method names.Pu-239 wrote:Java- I hate this. Way too verbose, use in web applications is way too complicated and overengineered.
IIRC they didn't even want to put in primitive types at first.Starglider wrote:Java is actually relatively light on the object oriented kool aid (IMHO OO is /still/ overhyped thirty years after it started getting attention); it does actually have primitive types. It does not succumb to the insane belief that computers don't really manipulate bits, although autoboxing will allow you to delude yourself if you insist. Smalltalk and most modern scripting languages do.
Discipline is good but for people who can actually use the power, operator overloading is easier to read. Java's non-use of overloading is fine but they should've been consistent. It drives me nuts that it's allowed in one specific (if extremely common) case and none others.This is a question of operator overloading, not OO vs non-OO. I agree that Java could have reasonably permitted a few more standard overloads, but I do not agree with user-defined overloads. They are one of the most dangerous and tempting features to abuse and create obfuscated code. Java was designed to appeal more to organisations than individual programmers; organisations want maintainable code bases, programmers (generally) want to do what the hell they like. Since most programmers suck, I derrive vicious pleasure from watching scripting babies whine about Java restrictions, as the compiler finally enforces some much needed discipline.
Microsoft has a good VM/compiler team for them, though, so I suspect they'll keep improving at it. As last I used it, the collections library was still a mess (compared to, for example, Boost/STL). The language features themselves are advancing a lot faster than Java, though (e.g. LINQ, as you mentioned).Are you sure? This used to be true, but the .NET standard library has been making massive strides forward. There are now combined language/library features such as LINQ that are massively convenient for certain kinds of programming. Of course the VM still sucks compared to Java's, chances of Microsoft engineers ever making systems software as good as Sun/Oracle engineers are negligible.
I have to admit that my situation is similar. I taught myself BASIC and Pascal back in the day (1980s and early 1990s). Some shell scripting in Linux / Solaris, mostly with BASH. A bit of FORTRAN for scientific purposes in the 1990s. Later took programming courses in Java. VBScript in order to automate things in Windows, but nothing very advanced.aerius wrote:Taught myself BASIC on the good old Apple II. Learned Pascal and C++ in university, then forgot everything a couple years after I graduated since I wasn't using any of it. I can't program myself out a paper bag these days.
At first I thought the Apache Commons-Java stuff was a godsend. And then the dependency hell started appearing - sometimes there are these bizarre requirements. Worse are the eight million implementations of the same thing and then someone makes an abstraction layer and then it's only half-used!Starglider wrote:That isn't so much a language problem, as the massive onslaught of bullshit bloated design patterns that overpaid 'enterprise architects' (aka awful programmers promoted until they can't break the code directly any more) come up with. The worst is the massive towering garbage pile that is the Apache open source Java enterprise, a sprawling mass of interconnected projects that seemingly exist only to wrap, obfuscate and rewrap each other. Because apparently having a call stack depth of less than 100 is a sign that your software is 'insufficiently structured'. The same people have fucked up C# just as badly, just with slightly shorter method names.
Hey man, this is Data Structures I'm in, not C++ for Ninjas.Starglider wrote:You mean threaded AVL trees? Good, now bit-pack them for memory usage approaching information-theoretic optimality and make them fully concurrent with lockless read and write. Then you will have my favourite CPU-side simple data structure (GPUs are a different kettle of fish).Dave wrote:C++ -- I'm currently taking a CS class on data structures. Who made an AVL tree with iterators? This guy. Man, that was hard.![]()
He got a waiver.Starglider wrote:As designated representative of the Military Industrial Complex (tm) you are only allowed to program in, endorse or advocate Ada. With an exception for FORTRAN, for nuclear weapon simulation only.MKSheppard wrote:10 PRINT I LOVE BASIC
20 GOTO 10
XSLT is Turing-complete, so it should probably count. SQL is generally considered a fourth-generation programming language (and procedural variants have a fair bit of power).Dooey Jo wrote:If SQL counts, shouldn't stuff like XSLT count as well?
Yes.Chardok wrote:Does LOGO count?