Allegro.cc - Online Community

Allegro.cc Forums » Off-Topic Ordeals » rant about the state of c++ software

This thread is locked; no one can reply to it. rss feed Print
rant about the state of c++ software
axilmar
Member #1,204
April 2001

[rant]

I am completely exhausted trying to put libraries together...almost nothing works.

I had big problems with Allegro 4.9.8, which does not compile under VS2005 with libjpeg support (and other issues, I have posted them in the "installation, setup & configuration" area). I was fighting with this for almost 6 hours, and I gave up (nothing against Allegro, it was the required libs that gave me the trouble).

Then I saw that Nokia released Qt 4.5, which is open source. I downloaded their SDK, but unfortunately it plays only with Mingw. No problem, I said, I will use Mingw from now on.

I tried to compile the examples...they don't compile. Oh, the horror! the problem is the paths: since I have VS2005, the compiler does not look at the mingw STL library, but at the Microsoft's library. I searched the options in the Qt Creator, but there are none for the compiler paths. So, I gave up with this as well.

Then I went to another little thing I wanted to try: boost intrusive lists with smart pointers. Then I discovered that the specific type of lists does not work with boost's smart pointers!!!!!

At this point, I am extremely exhausted and thinking of quitting any programming for my own leisure.

I am also extremely frustrated by the state of C++ software. Nothing works out of the box, and I have to jump hoops in order to make things work...

[/rant]

MiquelFire
Member #3,110
January 2003
avatar

I had that issue with MSVC, MinGW and QT before. I just use a batch file that unset some environment variables that seem to confuse something with QT's build process.

---
Febreze (and other air fresheners actually) is just below perfumes/colognes, and that's just below dead skunks in terms of smells that offend my nose.
MiquelFire.red
If anyone is of the opinion that there is no systemic racism in America, they're either blind, stupid, or racist too. ~Edgar Reynaldo

Matthew Leverton
Supreme Loser
January 1999
avatar

C++ is by elitists, for elitists. It's what can be expected. No concept of usability. 8-)

Oscar Giner
Member #2,207
April 2002
avatar

Quote:

Then I saw that Nokia released Qt 4.5, which is open source. I downloaded their SDK, but unfortunately it plays only with Mingw. No problem, I said, I will use Mingw from now on.

I've been using Qt 4.5 beta1 and RC1 for some time now with visual studio. They don't provide a binary package, you have to compile it yourself, but it't quite easy:

Download the source distribution.

Open the MSVC2005 command prompt (it should be in programs->microsoft visual studio 2005->Tools).

Go to the qt dir where you unziped everything

and run:

configure -debug-and-release
nmake

And done. It takes some time to compile, so better go do something else. In case you have mingw installed pass -platform win32-msvc2005 to configure to make sure it generates the vc libraries and not the mingw ones.

axilmar
Member #1,204
April 2001

Quote:

I've been using Qt 4.5 beta1 and RC1 for some time now with visual studio...

What about QtCreator? have you tried that?

count
Member #5,401
January 2005

Quote:

In case you have mingw installed pass -platform win32-msvc2005 to configure to make sure it generates the vc libraries and not the mingw ones.

???

Oscar Giner
Member #2,207
April 2002
avatar

Quote:

What about QtCreator? have you tried that?

Yes, but I didn't like it :/ I tested it only with mingw, though. I preffer Visual Studio IDE + QtDesigner as a sepparate program. With QtCreator you end up with too many things that don't really fit on a single window (on my poor 1024x768 resolution :P).

[edit]
Mmmm, I just found this

Johan Halmén
Member #1,550
September 2001

C++ is write only.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Years of thorough research have revealed that the red "x" that closes a window, really isn't red, but white on red background.

Years of thorough research have revealed that what people find beautiful about the Mandelbrot set is not the set itself, but all the rest.

Goalie Ca
Member #2,579
July 2002
avatar

c++ is a convoluted mess because it has to find common criteria for everything from 8-bit micros to 64-bit super computers.

-------------
Bah weep granah weep nini bong!

Kibiz0r
Member #6,203
September 2005
avatar

Quote:

c++ is a convoluted mess because it has to find common criteria

From the first post, it seems that even the common criteria have divergent implementations...

Martin Kalbfuß
Member #9,131
October 2007
avatar

Libraries for both providers and users are hell. I was searching for an easy way of doing all this. Different languages compilers and build systems. But nearly all powerfull libraries are C/C++ and often don't provide a good platform-independent build support.
You could try a linux distro. They have nearly all the important libs as binaries and they are installed easily. No problems with dependencies. And mostly no need for compilation by hand.

http://remote-lisp.spdns.de -- my server side lisp interpreter
http://www.nongnu.org/gm2/ -- Modula-2 alias Pascal++

Steve++
Member #1,816
January 2002

Quote:

c++ is a convoluted mess because it has to find common criteria for everything from 8-bit micros to 64-bit super computers.

You only have to look as far as Java to see that statement is false. C++ is a mess because the standard focuses too much on the syntax and ignores important issues such as interoperability.

I tend to avoid C++ unless I absolutely have to deal with it. Managed languages (Java, C#, etc.) have been around long enough for programmers to recognise their superiority in most situations.

ReyBrujo
Moderator
January 2001
avatar

Quote:

You only have to look as far as Java to see that statement is false. C++ is a mess because the standard focuses too much on the syntax and ignores important issues such as interoperability.

Great, comparing a programming language with one that appeared 15 years later :P Interoperability back in the 70's wasn't such a big issue as it is today, saying C++ isn't focusing on it is just as true as saying old 1920 films don't scale correctly in todays' HDTV sets.

C++ is a mess because it is an old language. The same will happen to Java once it is overcame with newer, simpler and more powerful languages.

--
RB
光子「あたしただ…奪う側に回ろうと思っただけよ」
Mitsuko's last words, Battle Royale

le_y_mistar
Member #8,251
January 2007
avatar

QBASIC always works when i need it to

-----------------
I'm hell of an awesome guy :)

Steve++
Member #1,816
January 2002

Quote:

Great, comparing a programming language with one that appeared 15 years later :P

My point is that if you live in the past, don't complain when it doesn't work out for you.

ReyBrujo
Moderator
January 2001
avatar

Sometimes you don't get to choose languages. I don't program in Visual Basic 6 because I like it, it is because the application is written in it. And I don't program in VB.NET because I like it, I do it because our company licenses Microsoft stuff. And I don't use Java because I like it, I use it because we are running Tomcat in a Linux with Apache.

A programmer chooses a language to work with. An experienced programmer uses whatever language is available.

--
RB
光子「あたしただ…奪う側に回ろうと思っただけよ」
Mitsuko's last words, Battle Royale

SiegeLord
Member #7,827
October 2006
avatar

Quote:

My point is that if you live in the past, don't complain when it doesn't work out for you.

Writing high-speed computational models is a thing of the past now? Just because you don't do real work with a programming language, doesn't mean the problem isn't there. :P ;)

Some people have to work with C++, and answering their complaints with "oh, stop living in the past, duh" is not very helpful. Sometimes, as ReyBrujo said, you need to support legacy applications. Other times, something just can't be done efficiently in those languages: right tool for the right job etc, and the job that C++ does basically has no other tool that can do it aside from C++ (or C, I guess). And, as it has been noted, the tool is often clumsy to use, so yeah...

"For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18
[SiegeLord's Abode][Codes]:[DAllegro5]:[RustAllegro]

Darizel
Member #10,585
January 2009
avatar

everyone said:

C++ is a mess

I disagree - the language itself ifs fine (for me). Actually, it makes a lot more sense than plain C. OOP is a lot more human-friendly.

That says nothing about the software, however.

----------
struthersgames.com - fun games for free download ;)
I am not an idiot.*
*in my opinion.

SiegeLord
Member #7,827
October 2006
avatar

Quote:

I disagree - the language itself ifs fine (for me)

Emphasis mine.

That too, I personally never had the issues OP is talking about, perhaps because I haven't ever used MinGW and MSVC at the same time. If C++ works for you, it's the others' burden to prove that you should switch away from it. And if they don't feel like proving it, they might as well stop trolling about it.

"For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18
[SiegeLord's Abode][Codes]:[DAllegro5]:[RustAllegro]

Darizel
Member #10,585
January 2009
avatar

Quote:

And if they don't feel like proving it, they might as well stop trolling about it.

Thanks for the support ;) :-/:-/ 8-)

----------
struthersgames.com - fun games for free download ;)
I am not an idiot.*
*in my opinion.

Steve++
Member #1,816
January 2002

SiegeLord said:

Some people have to work with C++, and answering their complaints with "oh, stop living in the past, duh" is not very helpful.

Did you read the original post entirely?

axilmar said:

At this point, I am extremely exhausted and thinking of quitting any programming for my own leisure.

SiegeLord
Member #7,827
October 2006
avatar

I write computationally intensive simulations for my leisure :P

"For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18
[SiegeLord's Abode][Codes]:[DAllegro5]:[RustAllegro]

Evert
Member #794
November 2000
avatar

Quote:

Sometimes you don't get to choose languages. I don't program in Visual Basic 6 because I like it, it is because the application is written in it. And I don't program in VB.NET because I like it, I do it because our company licenses Microsoft stuff. And I don't use Java because I like it, I use it because we are running Tomcat in a Linux with Apache.

Oh yes. Likewise, I would not have chosen FORTRAN as the language I do most of my stuff with these days...

ReyBrujo
Moderator
January 2001
avatar

Hehehe, our database programmer wants to write the new database manager in Eiffel. I guess everyone has a preferred language.

--
RB
光子「あたしただ…奪う側に回ろうと思っただけよ」
Mitsuko's last words, Battle Royale

Tobias Dammers
Member #2,604
August 2002
avatar

IMO, C++ is such a giant mess because of its strict adherence to the "to everyone their own" rule (which basically states that the language should not contain anything that resembles user code), and because it refuses to add features that could somehow have an impact on run-time performance, however negligible.

It appears even messier because other, newer, languages have been made in the meantime, and some of them learned a lesson or two from C++.

Libraries are a mess because C++ (other than C) lends itself to multiple programming paradigms, and the same problem can be tackled using different programming techniques (e.g., use exceptions or return values? OOP or procedural? Templates or polymorphism?); but other than Java or C#, it doesn't come equipped with a monolithic library providing "95% of what you'll ever need" that you can rely on and that you can assume every other programmer uses as well. With C++, every library defines its own way of doing things, and often they don't go together well; with Java, for example, the compiler, the "library" (runtime), and the "machine" (the virtual one anyway) it runs on are standardized, and thus very predictable. With C++, there are a dozen compilers and a million different machines you can possibly face, and you need to accomodate them all somehow.

Quote:

I disagree - the language itself ifs fine (for me). Actually, it makes a lot more sense than plain C. OOP is a lot more human-friendly.

Actually, OOP is a lot more fun using a language that has built-in constructs for getters/setters, interfaces, events, a mother-of-all-classes ("class Object"), a built-in string type that goes all the way, and all those other nice things that make your life easier.

---
Me make music: Triofobie
---
"We need Tobias and his awesome trombone, too." - Johan Halmén



Go to: