GCC 4.1 Released
Luineancaion writes "Looks like GCC 4.1 has been released. From what I know this includes the GNU Classpath merge and means that Azureus can now be used in a 100% Free-Software system. Thanks to everyone that worked on it, and keep up the good work!"
But I just finished compiling 4.0...
Most people who program, myself included as an engineering student, probably take this for granted, but GCC is like having a Home Depot down the street that gives their stuff away. For no cost, anyone can use these tools to create just about anything they want. It's pretty amazing, and fitting for Thanksgiving to show some appreciation, that we all have access to these incredible tools for free.
As a developer, I love GCC. Its great, easy, and best of all free. GCC is probably one of the most benifical open source projects around, more important even than linux.
Help Fight SPAM today!
You'd never know it by the link provided that there was anything special about this release.
I am interested in how well it supports ARM5, seeing as how it was dropped as the recommended compiler for certain platforms.
Jesus saved me from my past. He can save you as well.
are they using the gcj as chacheing jit (e.g. GCJ run on demand to turn class files into shared objects which are then loaded dynamically) system that was mentioned in one of the papers i read recently or what?
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
From the story: From what I know this includes the GNU Classpath merge and means that Azureus can now be used in a 100% Free-Software system.
Sounds interesting. Is there any ChangeLog to read? I browsed the gcc and the gcj pages, but I couldn't find anything.
For 13 years I have been a professional UNIX administrator, and if I had to pin down the single most influential software that help propel the Open Source revolution, I would name GCC.
Back in the day the first step in loading up a UNIX workstation with Open Source tools, was to go out and grab a limited precompiled version of GCC, then bootstrap compile an more suitable version, then go to town on compiling all the rest of the goodies that we couldn't live without. We did it so often that it became second nature to go through this process.
I salute you, makers and maintainers of GCC.
Slashmail.org "The Open Source Email Company"
Azurues can now be used in a 100% free system to download not so free software :)
No mention of a changelog? If you're going to announce something, it sure would be nice to have a link to a page that explains some interesting stuff about what's new in it. I've tried looking at their wiki, but its 'news' section and its stuff on 4.1 hasn't been updated since like March.
From what I know this includes the GNU Classpath merge and means that Azureus can now be used in a 100% Free-Software system.
That's good for us, considering that the #1 use of Azureus is to pirate 100% commercial software.
I was always angry with Sun touting Java(R)(TM)*** as portable when run-time environments were made available for only a small (albeit popular) set of architecture/operating system pairs. My Alpha running Debian at home and my Alpha running FreeBSD at work were left cold, lonely, and wanting Java; running a subset of Java applications with free software partial implementations. This is a triumph for FOSS.
I love GCC, but I lament that its ability to do inlining is rather bad.
I'm wondering how hard it would be join the project and work on rectifying this.
what (if any) implications will this have on OO.o?
Thanks folks, and happy Thanksgiving.
I'm not sure what gave the person who submitted the story, or the editor who posted the story, the idea that 4.1 was released, but it isn't. In fact, it was just branched less than a week ago. We haven't even put out an RC yet! Really, it's not out. When it is, you will see something sent to gcc-announce
Just regarding your description of JIT - that's not how JIT works, at least not the implementation I know off.
What JIT does is to actually create binary code in-memory and then execute it. Nothing to do with shared objects.
GCC 4.1.0 is not yet out as far as I know. This story is misleading. Just because the site lists 4.1.0 on the front does not mean it is out. Notice that it doesn't have a release date on it.
How's the amd64 support in it? Last time I checked it still wasn't stable...
Cheers,
RoadkillBunny
Spelling transitional? That's shite. Try strict.
Azureus can now be used in a 100% Free-Software system.
:) what was wrong with Azureus before?
For those of us who aren't Linux geeks
Java leaks like a sieve. Azureus can't run for more than 24 hours without causing noticable slowdown... java is still an unprofessional mess more than a decade after it was supposed to change the world.
Akarsz Magyar Gentoo fórumot? Akkor
Nothing like research BEFORE posting an article. If you look at the homepage you will see that 4.1 hasn't been released.
And by the way, XHTML 1.0 of any type just won't work in the real high-quality web designing world.. XHTML 1.1 is the way to go, if you can't get 2.0 to work. (Yes, I know it hasn't been completely defined yet.)
What is the airspeed of a fully laden swallow?
I suppose "Strict" is for "tighters" then?
About a month ago, I submitted a bug report for an internal compiler error. The GCC guys jumped on it, but I don't see in that change log a mention of what particular bugs got fixed in GCC 4.1.
Is the changelog just oddly incomplete, or am I looking in the wrong place for the list of bugs that got fixed in this release?
Gcc has a history of, well, sucking arse for the first few major revisions of any release tree. Is gcc 4 ready for prime-time now, or should I continue on with gcc 3.x? I've already heard of gcc 4 enforcing strict rules that breaks otherwise functional code. I remember how much of a headache that was when gcc 3 rolled around and started spitting out compiler errors that basically said "your code is ugly."
hello dear sirs my name is jamesh i are india (bihar) can u guide me install red had linux 9?
It looks like GCC will merge with LLVM. Follow the discussion thread to see key GCC developers agree to the many benefits of using LLVM. And even if LLVM is not folded into GCC, Apple plans to use LLVM as its backend anyway.
I wince at the thought. The sick f*ck(s) deserves a pat on the back and a six-pack at least. Oh and a pay raise.
/. is good for you.
The philosophical difference RMS describes is quite clear and RMS points it out quite well. The benefits we get from free software are great, but they shouldn't be celebrated at the expense of celebrating the freedom free software gives us for its own sake. You can't "make that group as broad as you want or as narrow as you want" and still convey the same point. People might not know about software freedom, so it's easy to make that mistake without any malicious intent (as I think was the case here). But to set out to refer to programs like GCC—programs written to make software freedom real—in the name of a movement that was built in part to not mention software freedom is ahistorical.
Digital Citizen
Not only that, but it's being sent as "text/html" and has presentation mixed into the markup. Quite nasty.
IANAGCCD (I am NOT a GCC developer ;-))) but AFAIK we should all thanks to RedHat for putting lot of "people-time" (read - money) into GCC and making constant improvements of it!
GCC 4.1 has not been released yet.
A modified version of Classpath has been included with GCJ since 3.2.
Azureus may start in GIJ 4.0, but won't work properly because it relies on parts of the Sun JDK which aren't completely implemented yet in GCJ.
There is going to be some growing pains with this stuff included in distros, but it should be temporary.
The gnu classpath guys are working towards compatibility with Sun's API specs, not doing their own thing.
Overall I think this is huge for java. I've been playing with the latest gij/gcj stuff on fedora 4 and it looks pretty good. Eclipse looks good for everything except its update mechanism(rpms vs. eclipse's online updater). Most swing and swt apps work fine.
My only problems right now(as of gcc 4.0) are the java sound APIs and some older java.awt repainting stuff.
"If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
GCC 4.1 has not been released yet.
/. standards. Guess I don't need to waste any further time on this article since it's TOTAL BUNK. Congrats, "editors".
A modified version of Classpath has been included with GCJ since 3.2.
Azureus may start in GIJ 4.0, but won't work properly because it relies on parts of the Sun JDK which aren't completely implemented yet in GCJ.
Thank you for posting some actually useful and accurate information, which is exactly what I was looking for after the extraordinary claims of this poster. Looks like the original poster really went off half-cocked, even beyond most
If only I had a subscription, so I could request a refund...
GO MONO!
Now that we got a pretty good and free(speech) java stack, makes you wonder why Miguel didn't just contribute his effort there.
I know he's like C#, but java is much, much closer to that style of coding than the C code the gnome guys were writing.
"If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
The 4.1 *branch* was created recently (in fact last week).
The *release* is still months away.
Toon Moene (GCC Steering Committee).
Dan Berlin is one of the best known GCC developers. His contributions have been many. Just a few weeks ago he helped transition the project from CVS to Subversion. If he says it hasn't been released, then it hasn't been released.
Cyric Zndovzny at your service.
Where it is released? I don't see it on any ftp server.
Because we don't have a pretty good java stack. We've been trying to get one for years, and failing miserably. You still can't take a random java program and expect to be able to run it in a free way. There was even a fresh start with that Apache project recently, which seems to be no more successful with all the rest. Wheras mono has started, got working, and given us a properly usable C# stack already.
I am trolling
Did you read the latest update to mono Miguel wrote? There is a new version of mono and he was explaining what is done and what still needs to be done.
.NET 1.1 spec MS has already moved on to 2.0. I agree with you, it would have been much better for the OSS community if he worked on java (classpath) or even parrot.
.net in the balls.
I have a tremendous amount of respect for Miguel but in reality he could have saved himself lots of hours and words if he simply wrote "we are still chasing MS taillights but they are pulling away".
I felt bad for the guy, just as he gets close to
I get the feeling parrot will put the final nail in the coffin of mono and kick both java and
evil is as evil does
It is surprisingly hard to find out what the current release is from the GCC webpages. The front page has a misleading 4.1. Press "Releases", and you get a misleading 3.4.4. You have to go on to the "Development plan", under Future timeline, to find the actual latest and greatest 4.0.2 somewhere down the ASCII art tree.
The most interesting new feature IMO is Objective-C++ support. Should make it a lot easier for the GNUstep folks to port over MacOSX software.
Erik Dalén
Slightly offtopic, but I was wondering this the other day:
Have the *BSDs always been using GCC, or did they use a different compiler in the early days?
Please correct me if I got my facts wrong.
I dont think the grandparent asked for a biographical sketch of Mr. Berlin.
Dan Berlin isn't exactly the only person who works on GCC, so the fact that the webpage, which should be the sole ultimate authoritative source of GCC information is saying something that is contradicting what he is saying is something that needs to be brought to his attention.
No need to get all uppity and act as if he just smited your God.
Lord High Crapflooder The Right Honourable Vlad Craig Esther McDavenpherson III
Destroyer of Mercatur.Net
No, but it compiles Linux.
The Tao of math: The numbers you can count are not the real numbers.
I get the feeling parrot will put the final nail in the coffin of mono and kick both java and .net in the balls.
.NET developers is wildly exaggerated to say the least.
I agree that a free multi-language VM is a good thing, but to suggest that it is going to have any impact at all on the huge number of Java and
This is certainly the best post in this thread...not that it's hard to figure though. I mean, you read the title and think "Ah, another time Slashdot ridiculizes itself".
> RMS is in error here, but not because he thinks that software designated Free Software ought not be referred to as Open Source software, but because he thinks that anyone cares.
More people than you imagine do care.
I know I do, and I know lots of others do, too.
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
GCC is a very important piece of open source software, but it is time to see some real progress in C++:
1) type inference and the 'auto' keyword, as it was suggested a while back.
2) real garbage collection. It is not possible to have effective collection without support from the compiler. The Boehm's collector is not a precise collector, because it can not use type information; it is only the compiler that knows such things.
3) a standard library that goes beyond collections, algorithms and files (and is based around garbage collection, mentioned above). We need gui, threads, sockets, XML, etc. Java did it, I see no reason why C++ can not do it. The argument that it is too difficult to do it no longer holds, due to the cross platform toolkits that exist (but none of them is standard or open as GCC).
And I don't want to hear anyone say 'why don't you join GCC to do it yourself', because I have a full-time job working as a C++ programmer and I have barely the time to take a bath, plus it is extremely difficult to enter the GCC development process, due to being highly not-documented (you have to read the sources) and pretty much a closed circle.
(unless I miss understand you) GCJ is part of the GNU Compiler Collection (GCJ).
Wow, I should not post when knackered.
Please refer to GCC as Free Software. Open Source is something completely different, and not nearly as inspiring, imho. Moreover, when GCC pretty much started the whole Free Software movement, it deserves a bit more caution in terminology ;)
You can't philosophically be a subset of something you don't philosophically agree with. Free Software is Free Software. Open Source came later, and if anything, is a watered-down version of Free Software.
Ruby is already having an impact on both Java and .NET developers. Once you can mix and match the vast perl, python and java libraries expect it to explode.
Also the preliminary results suggest that parrot will be faster then the default interpreters. This means the performance difference between Java and Ruby will decrease as well (although I have to give sun some credit 1.6 beta screams).
evil is as evil does
Not part of the standard (yet) and may change before it becomes standard. G++ already has 'typeof' keyword, no reason to replace one extension by another extension until the standard is finished.
2) real garbage collection.
Again not part of the standard, furthermore it's pretty hard to reconsile the standard's requirements that destructors must execute deterministically with any garbage collection. Standard may be extended to include GC in the future, but for now you have to use a 3rd-party GC, there are several for C++.
3) a standard library that goes beyond collections, algorithms and files
G++ includes TR1 libraries, which is a likely next standard for C++ standard library. Beyond that, you can try Boost for a larger library, but don't expect any compiler to include a library which goes far beyond the standard.
You claim that Free Software is a subset of Open Source, a more narrow definition.
If that is so, can you give me an example of a piece of software that is Open Source, but not Free Software?
No? That's right. There is no real difference. Free Software and Open Source software are the same subject, explained differently.
As many have pointed out, GCC 4.1 is actually several months away from release. Slashdot "editors" might want to learn about a concept called "fact checking." I'm disturbed by the amount of GCC bashing in this list. I've never met a perfect compiler, and GCC is far superior to many commercial tools I've used. It provides professional-quality C, C++, Objective-C, Fortran 95 (almost), Java, and Ada compilers for dozens of platforms; the code generation is imprefect, but then again so is most of the code GCC is required to compile! The vile lack of appreciation for GCC simply astounds me -- it is the foundation of Free Software. And it is a fine piece of work that is constantly growing and evolving -- though not as fast as Slashdot's headlines might suggest... ;)
All about me
Not part of the standard (yet) and may change before it becomes standard. G++ already has 'typeof' keyword, no reason to replace one extension by another extension until the standard is finished.
'Typeof' and 'auto' are completely different things: 'auto' would be used in place of a type in variable declarations. For example: auto var = 1 + 2;
furthermore it's pretty hard to reconsile the standard's requirements that destructors must execute deterministically with any garbage collection
If it is hard, than make it not hard: why should destructors be executed deterministically? manual memory management will still be there for that reason.
ou have to use a 3rd-party GC, there are several for C++
The only one I know of is the Boehm's collector, which is a very great hack. Trying a search in sourceforge reveals 0 C++ garbage-collection projects. Trying a search in Google even shows my lame attempt for a collector as the 3rd result (!). Further Google results are either bad links, academics pages with lots of theoritical work and even more bad or outdated links, or old implementations mostly for specific Unix flavors.
G++ includes TR1 libraries, which is a likely next standard for C++ standard library. Beyond that, you can try Boost for a larger library
TR1 offers many goodies, and boost even more, but a modern app needs quite a lot more.
but don't expect any compiler to include a library which goes far beyond the standard.
why? just because the C++ commitee is so stubborn? hello? 2005 called and said that a modern language needs modern libraries.
RTTI, Garbage collection, a GC-based class library... sounds like
you'd rather be programming in Java. So why don't you?
I use C++ for high performance real time software. I don't
want GC or libraries which depend on it. If I were writing
software for a bank or something, I'd use Java - it's easier,
and already has all the tools and libraries. Why screw around
with C++ if you don't need performance? And if you do need
performance, why are you using garbage collection and other
stuff which will just turn your C++ compiler into a poor man's
java compiler? I don't get it... use the right tool for the job!
-- Tristan
Mono isn't any better of in this respect. .net developers available to mono developers on linux?
Is every API available to win32
Of course gcj/gij isn't the perfect 100% Sun compatible platform yet.
If you develop an app with what's available in gnu classpath and compile it to bytecode with gcj, it will run in gij, and more than likely run in Sun's JRE.
"If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
Of course not, but the coverage seems to be better already after what, 6 months, than what has been done with Java in four years or so.
Of course gcj/gij isn't the perfect 100% Sun compatible platform yet.
It's miles short. Mono is like wine - try it and it might work. Gcj I've never seen work on any app I've tried it with. I'm not saying it doesn't work for anything, I'm sure it does, but the probability of a random java app working with gcj seems to be very low, far lower than for mono.
If you develop an app with what's available in gnu classpath and compile it to bytecode with gcj, it will run in gij, and more than likely run in Sun's JRE.
True, but that doesn't seem to be a path anyone is advocating. Do the development tools exist to do that? And will it work with any of the other free java efforts? Is there even a working windows distribution? If you develop for what's supported in mono your program will work on any C# platform that exists at the moment, and you have monodevelop etc. that make doing this a viable option.
I am trolling
It's miles short. Mono is like wine - try it and it might work.
.net effort?
Still no different than "gij -jar somerandomapp.jar"
Gcj I've never seen work on any app I've tried it with. I'm not saying it doesn't work for anything, I'm sure it does, but the probability of a random java app working with gcj seems to be very low, far lower than for mono.
Or are you just experienced enough with mono to know which win32 libs aren't done yet?
I've gotten plenty of java apps to run with gij, and have a good idea where the problem areas are.
Do the development tools exist to do that?
Fedora has already been bundling gcj/gij, gnu classpath, and eclipse. Works pretty well.
And will it work with any of the other free java efforts?
Java bytecode is java bytecode. The other free java efforts don't have as much of the API implemented as gcj + gnu classpath. Is there another free
Is there even a working windows distribution?
here's a win32 build.
If you develop for what's supported in mono your program will work on any C# platform that exists at the moment, and you have monodevelop etc. that make doing this a viable option.
"For what's supported." Just like gcj and gnu classpath.
"If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
GUI? There are QT, GTK, wxWidgets, Motif(sic!), possibly even MFC support.
If you include all these into GCC, you'll get a bloated thing.
If you create something new, people will have more trouble choosing the right toolkit.
If you want gui, threads, sockets, XML, etc., you can try QT - all these in a single relatively small package.
GCC is a very important piece of open source software, but it is time to see some real progress in C++
(list of features snipped)
Why not use a toolkit that gives you much more than a plain STL, something like Qt or Boost. Alternatively, why not use a language and environment that already has those features, like Java?
I can not use Qt because for the following reasons: 1) I am developing commercial products but I can not afford the Qt commercial licence, 2) Qt 4 goes in the wrong direction, relying more and more on the MOC compiler, something which I did not like from the previous version.
Boost does not offer database, gui and xml libraries.
Java is too slow for the applications I am doing.
Wrong...it wouldn't be traditional C++. It would be C++ for the 3rd millenium.
There are no tools that support D...IDEs for example.
Why should I sacrifize a) templates (Java generics are not like C++'s templates), b) enums, c) RAII for having garbage collection? I want all of the above, plus the real-time performance of C++. Furthermore, Java IDEs are very slow.
md401@md401 ~ $ gij -jar OT42.jar
Exception in thread "main" java.lang.Error: not implemented
at javax.swing.UIDefaults.put(java.lang.Object, java.lang.Object) (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.plaf.basic.BasicDefaults.BasicDefaults () (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.plaf.metal.MetalLookAndFeel.getDefault s() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.UIManager.getDefaults() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.UIManager.getUI(javax.swing.JComponent ) (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.JLabel.updateUI() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.JLabel.JLabel(java.lang.String, javax.swing.Icon, int) (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.JLabel.JLabel(java.lang.String) (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at itunes.client.swing.One2OhMyGod.One2OhMyGod() (Unknown Source)
at itunes.client.swing.One2OhMyGod.main(java.lang.Str ing[]) (Unknown Source)
md401@md401 ~ $ gij -jar jedit42install.jar
Exception in thread "main" java.lang.Error: not implemented
at javax.swing.UIDefaults.put(java.lang.Object, java.lang.Object) (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.plaf.basic.BasicDefaults.BasicDefaults () (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.plaf.metal.MetalLookAndFeel.getDefault s() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.UIManager.getDefaults() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.UIManager.getUI(javax.swing.JComponent ) (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.JPanel.updateUI() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.JPanel.JPanel(java.awt.LayoutManager, boolean) (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.JPanel.JPanel() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.JRootPane.createGlassPane() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.JRootPane.getGlassPane() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.JRootPane.JRootPane() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.JFrame.createRootPane() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.JFrame.getRootPane() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.JFrame.frameInit() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at javax.swing.JFrame.JFrame() (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcj.s o.4.0.0)
at installer.SwingInstall.SwingInstall() (Unknown Source)
at installer.Install.main(java.lang.String[]) (Unknown Source)
md401@md401 ~/packages/yaggui-0.9.2 $ gij -jar Yaggui.jar
Exception in thread "main" java.lang.NoClassDefFoundError: while resolving class: de.hampelratte.yaggui.Main
at java.lang.ClassLoader.resolveClass0(java.lang.Clas s) (/usr
I am trolling
it can do both, native and bytecode ... take your pick :)
I'd tell you the chances of this story being a dupe, but you wouldn't like it.
Shouldn't that be the other way around?
my password really is 'stinkypants'
If you are having problems finding where you need to deallocate memory, or are using memory in an invalid manner, I suggest looking into Valgrind. You can run your program through valgrind and it will give you real-time analysis of your program and any invalid memory read/writes you are performing.
The point is, regardless of what the webpage says, that the release has not been made. That fact has been confirmed by one of the most regal GCC developers.
Cyric Zndovzny at your service.
Open Source can become closed source. Free Software cannot. This is why companies have a hard time with Free Software -- they can't own their changes.
[ReidNews]
RMS is in error here, but not because he thinks that software designated Free Software ought not be referred to as Open Source software, but because he thinks that anyone cares.
Actually it is you who are in error here. In this sentence, RMS is not "thinking" anything, he is just promoting freedom. Others like you "think" people don't care about freedom and even equate open source with free software because both are "open". But "open" means nothing if you don't have the freedom to use it, study it, share it and modify it with your peers and ensure these conditions remain in all derivated works.
Openness is good, but not as good as freedom, which includes openness, not the other way around as some people think.
Artix
Your Linux, your init.
As long as you have some means of giving back, some people will always think about misuse, and some people will want you to go back being a mere consumer of whatever they choose to feed you with.
Their real worry is people bypassing the system and doing independent content production and distribution (which destroys their controlled market); and just have the perfect excuse...
Artix
Your Linux, your init.
That is not the point at all.
The point is that the webpage is making conflicting information. This is what the poster is trying to point out, yet you keep reverting to your God-like defense of someone who dared to point out a glaring contradiction. It was very noble (see, I can use your sort of terminology too!) of the poster to point this out so that King Berlin might take a chance to clarify or fix the problem.
How dare anyone question Mr. Berlin! He is even more royaller and Godlier than the entire GCC project itself!
Jesus christ.
Lord High Crapflooder The Right Honourable Vlad Craig Esther McDavenpherson III
Destroyer of Mercatur.Net
(%i1) factor(777353);
(%o1) 777353
I know you love your m88k boxes, but it's time to let go.
I read the internet for the articles.
"And I don't want to hear anyone say 'why don't you join GCC to do it yourself', because I have a full-time job working as a C++ programmer and I have barely the time to take a bath, plus it is extremely difficult to enter the GCC development process, due to being highly not-documented (you have to read the sources) and pretty much a closed circle."
And yet you have time to sift through slashdot posts and rant? Well... priorities...
Doesn't that terminate a DOS program, returning 0 as the exit code? It's been awhile.
Different obscure machine language: What does this do? 2C 30 C0
--JoeProgram Intellivision!
Read the legalize of both licenses. I cannot use java for my projects at work (an embedded system), because the license will not allow me to distribute it. For GNU software there are requirements that management doesn't like (but not a big deal as we are careful not to 'taint' our code), but we can distribute it with the product.
Proper C++ does not get buffer overflows. The STL does not allow them. Even with C code, buffer overflows are rare in new code, as programmers have learned the hard way to be careful to prevent them.
Historically buffer overflows have accounted for about half of all successful attacks. Secure programming is much more than buffers, your attitude that it is the most common problem makes it more likely that programmers will ignore the very real security holes that are not buffer related.
Java does not allow RAII, which solves a large class of errors that C++ cannot have.
The bottom line is stupid programmers can write insecure software in any language. Smart programmers look for a language that helps, but they know that even perfect tools can be subverted if they are not careful.
1) type inference and the 'auto' keyword, as it was suggested a while back.
This has been expected of c++0x for some years.
2) real garbage collection. It is not possible to have effective collection without support from the compiler.
Baloney. Several perfectly good portable snap-in garbage collectors are for sale on the open market. Don't confuse "not possible" with "nobody's done it for free yet." Besides, garbage collection behavior by needs must vary between devices with different architectural considerations; what would be right for a cellular phone would be a nightmare on a vector supercomputer, and vice versa. Pervasive garbage collection is anathema to a language whose focus is extreme portability. C and C++ have instead provided language-level modularization so that you can replace new, malloc and so on with your own mechanisms. If that's not good enough, then you need to hit the books.
3) a standard library that goes beyond collections, algorithms and files (and is based around garbage collection, mentioned above). We need gui, threads, sockets, XML, etc.
We must not have GUI, because user interface varies so wildly between machines that C and C++ are intended to target, including machines without user interface. Threads, sockets and XML are all already in Boost, the set of libraries developed specifically for consideration for inclusion into the C++SL and with a large membership reflecting the ISO/IEC standards committee.
The argument that it is too difficult to do it no longer holds
That was never the argument. The argument was and remains that there is no portable way to do such a thing without imposing a rigid ideal for user interface. C and C++ programmers who do embedded programming are frequently appalled by Java. If you've ever used J2ME in a situation where performance is important, you know exactly why this should never be done, and why things like BREW and Symbian fail so hard.
And I don't want to hear anyone say 'why don't you join GCC to do it yourself', because I have a full-time job working as a C++ programmer
So do the rest of us. Hell, I have two, and I make time for several OSS projects, a gaming community and my significant other. Besides, it's not as if implementing something in GCC makes it part of C/C++.
StoneCypher is Full of BS
The one thing that is correct is that the official gcc was growing stagnant. But that was due to the official maintainer, who was (and is, he still contribute to gcc) a great compiler engineer, but a poor free software project leader. The majority of the work was done by Cygnus Support, whose customers were mostly in the embedded arena. Cygnus then decided to open up development based on their own branch, under the name egcs (and with an understanding from FSF), in order to involve more people in the development. It became a huge sucess, and the egcs branch became the official FSF branch.
/. hate-object, ESR's, Cathedral and Bazaar paper), served as an inspiration to move away from the traditional relatively closed FSF style of maintainership.
.com boom, and showed their first profit right after, most of their listed "wins" were in the old Cygnus business area). But the maintainer is from CodeSourcery, who does contract compiler work in a rather wide area. And the main contributor may, somewhat ironically, be Apple, it is certainly their email adress I see most on the developer list. Other than that, HP, IBM and Intel contribute a lot.
The biggest contribution from Linux may be that Linux (together with the favorite
Today, SUSE makes good contributions. So does Red Hat, although it is hard to see which part of those contributions come from the old Cygnus part of the company (Red Hat bought Cygnus during the
G++ allows this: typeof(1 + 2) var = 1 + 2; Not as convenient as auto, but until auto becomes part of the standard, juggling non-standard extensions hardly seems justified.
If it is hard, than make it not hard: why should destructors be executed deterministically? manual memory management will still be there for that reason.
Because a language in which destructors are not executed deterministically is not C++, and G++ is a C++ compiler. Does it mean that such language is "bad"? Of course not. C++ has several strengths, and the standard committee watches above all that any new language features to not destroy those strengths. If you're willing to trade some of these strengths for other features you want, you're looking for a different language. C++ should not try to be the one language to end all languages (we already tried that, remember PL/1?)
The only one I know of is the Boehm's collector, which is a very great hack
There are others, but they are compiler-specific: while not part of the compiler itself, they use the internal knowledge of how a particular compiler, and usually a particular C library, handle memory allocations. Which is exactly what you asked for, a compiler-specific GC.
TR1 offers many goodies, and boost even more, but a modern app needs quite a lot more.
Perhaps modern app, at least the one you're writing, needs a different language then?
why? just because the C++ commitee is so stubborn? hello? 2005 called and said that a modern language needs modern libraries.
And what do you expect G++ developers to do about that? Putting together a library which is even larger than Boost is enormous amount of work, and can only end up one of three ways: nobody uses it, it becomes an standalone project like Boost (because at this point it really has very little to do with the compiler, thus no reason to keep the two projects tied together), or it supplants the standard. The first is a waste of effort, the second is a very worthwhile project but G++ developers are already busy working on one, and the third ... let's just say that if someone knew how to do that, we'd have a larger standard library by now.
Ruby is already having an impact on both Java and .NET developers.
There has been a lot of talk about Ruby in recent months, but there is little evidence that in reality is having any impact. But anyway, being influential does not mean success. For example, Smalltalk is an influential language but is rarely used. I'm sure Ruby will be far more used (I use it!), but I really can't see it taking away much jobshare from Java for a long time.
Once you can mix and match the vast perl, python and java libraries expect it to explode.
You already can, and have been able to for years. You can run Python, Ruby, perl and hundreds of other languages on the JVM. So where is the explosion?
Also the preliminary results suggest that parrot will be faster then the default interpreters. This means the performance difference between Java and Ruby will decrease as well
I'm sure it will, but getting a really fast cross-platform VM is incredibly difficult - Java has only been able to match C/C++ speed in the last year or so, and the work put into the JVM by many companies was vast.
By your definition C++ is more safe than Java. C++ when used correctly uses STD:string for all buffer operations, and this makes C++ just as safe as Java. C++ also allows RAII (Java cannot - at least not in a clean way), which makes it safer.
There are several good C string libraries that do not allow buffer overflows. Thus C is now just as safe as Java.
Of course if you are stupid it is slightly easier to create a buffer overflow in C/C++ than Java, but that is not a factor for you. You like safe programs, and stupid programmers will never write safe programs, no matter what the language.
In my experience, the culture of C/C++ is more attuned to security problems, and that helps prevent the rest of the problems. The Java culture in my experience has not learned to pay attention.
BTW, if you like programs done in a secure language, does that mean you insist that everything on you system be written in e?
the swing UI defaults thing must have been fixed with gij (GNU libgcj) version 4.0.1 20050727 (Red Hat 4.0.1-5.
I just did a "gij -jar jedit43pre2install.jar" and the installer ran fine. Unfortunately, when running the app it dies at the splash screen.
I'm sure this will get better now that gnu classpath is the default standard API for gcj 4.1.
"If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle