Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

LLVM's Libc++ Now Has C++1Y Standard Library Support

Unknown Lamer posted 1 year,27 days | from the john-titor-joins-the-team dept.

Programming 161

An anonymous reader writes "LLVM's libc++ standard library (an alternative to GNU libstdc++) now has full support for C++1y, which is expected to become C++14 next year. Code merged this week implements the full C++1y standard library, with support for new language features in the Clang compiler frontend nearly complete." GCC has some support for the soon-to-be standard too. The C++ standards committee is expected to produce a more or less final draft in just a few weeks. The LLVM and GCC C++14 status pages both have links to the proposals for the new features.

Sorry! There are no comments related to the filter you selected.

!GNU/Linux (5, Insightful)

Dimwit (36756) | 1 year,27 days | (#44949455)

Now that Clang/LLVM has got this finished, I'm wondering what a system would look like with:

    * Linux as the kernel
    * Clang/LLVM as the system C/C++ compiler
    * Heirloom Toolchest as the basic userland toolchain
    * Wayland as the underlying display system
    * musl as the system C library

That would be Linux, but would contain almost no GNU code. Not that I have anything against GNU, but the Heirloom Toolchest, Clang, and musl are all more standards compliant, smaller, and often faster than their GNU counterparts. I wonder what a Linux distribution like that would look like. I'd use it.

(I hate how "GNU's Not Unix!" is really becoming more and more true. Unix was about minimalism, and sometimes GNU seems like it's about stuffing everything possible into every tool.)

GNU excitement (1)

tuppe666 (904118) | 1 year,27 days | (#44949527)

Now that Clang/LLVM has got this finished, I'm wondering what a system would look like with:

... * Clang/LLVM as the system C/C++ compiler

Slower

Re:GNU excitement (0)

Anonymous Coward | 1 year,27 days | (#44949679)

but the point is that very few people care, and this will be optimized in due time.

Clang will improve the code quality, which is more important.

Re:GNU excitement (1)

epyT-R (613989) | 1 year,27 days | (#44951929)

Depends what you mean by 'code quality.' To me, one of its characteristics is speed.

Re:GNU excitement (-1)

AlphaWoIf_HK (3042365) | 1 year,27 days | (#44949849)

Into a juicy graveyard we go! Now who's bootyass process, invisible entity licking its chops? I am!

Re:GNU excitement (3, Informative)

Anonymous Coward | 1 year,27 days | (#44949857)

Faster at compiling at least. And there's lots of code floating around that was compiled in GCC version 4.3 or earlier - Clang/LLVM-compiled code runs circles around that. GCC had a huge speed boost at version 4.4 which took time for LLVM to catch up to. The latest version of LLVM is actually very competitive against the latest GCC except where the GCC code makes use of OpenMP (which LLVM is still busy implementing).

Re:GNU excitement (1)

iluvcapra (782887) | 1 year,27 days | (#44949927)

I imagine most of the people invoking clang these days are using to do what OpenMP does.

Re:GNU excitement (1)

iluvcapra (782887) | 1 year,27 days | (#44949937)

Correction: I imagine most of the people invoking clang these days are using dispatch.h to do what OpenMP does.

Re:GNU excitement (2)

KiloByte (825081) | 1 year,27 days | (#44950019)

The latest version of LLVM is actually very competitive against the latest GCC except where the GCC code makes use of OpenMP (which LLVM is still busy implementing).

For the values of "competitive" of "around 1 level of optimization slower" on the average (although particular cases vary widely). Granted, gcc tends to compile around that level of optimization slower in return, but for production code, you compile once run many.

And on the high end of optimizations... gcc compiles one piece of code with LTO in 40 minutes on a 256MB raspberry pi, while clang OOMed after several hours on my main box (8MB ram + 8MB ssd swap).

And comparing current clang with ancient gcc... what's the point? Newsflash: modern gcc runs circles around that too.

Re:GNU excitement (1)

Fnordulicious (85996) | 1 year,27 days | (#44950111)

And on the high end of optimizations... gcc compiles one piece of code with LTO in 40 minutes on a 256MB raspberry pi, while clang OOMed after several hours on my main box (8MB ram + 8MB ssd swap).

You're compiling on a system with only 8 MB of ram? Are you still stuck in 1993 or something? Memory restrictions in embedded systems is one thing, but on a development machine it seems bizarre. Like cutting off your legs just to see how slow you can run a marathon on stumps.

Re:GNU excitement (1)

Raenex (947668) | 1 year,27 days | (#44950967)

I think it's pretty obvious he meant 8GB.

Re:GNU excitement (1)

loufoque (1400831) | 1 year,27 days | (#44953507)

From my experience with both the latest GCC and Clang, Clang is about two times faster and uses 25% less memory (40% less than GCC 4.8 which somehow uses much more memory than its predecessors).

Optimization with clang is also slightly better. It depends what sort of optimization you're looking for, but Clang is quite good at getting rid of the abstraction penalty, which is the only thing I really care about.

Re:GNU excitement (1)

cyfer2000 (548592) | 1 year,27 days | (#44952267)

I thought LLVM won't implement OpenMP because OpenMP could not scale to hundreds of cores nicely. LLVM was looking for something better than OpenMP. Has the wind changed?

Re:GNU excitement (0)

Anonymous Coward | 1 year,27 days | (#44952865)

I thought LLVM won't implement OpenMP because OpenMP could not scale to hundreds of cores nicely. LLVM was looking for something better than OpenMP. Has the wind changed?

No LLVM developer has said any such thing. Here is the llvm mailing list [uiuc.edu] . Feel free to point a where they said they were won't implement it.

Re:GNU excitement (5, Interesting)

Sectrish (949413) | 1 year,27 days | (#44950091)

Now that Clang/LLVM has got this finished, I'm wondering what a system would look like with:

... * Clang/LLVM as the system C/C++ compiler

Slower

I'm developing a tiny game engine in C(11) and I've built profiling into the core, and I profile many of the math-heavy parts separately as well. Clang 3.3 actually almost always does better than gcc 4.8 here. Not by much, but there you have it. You should take a look at the SLP vectorizer, which will come enabled in -O3 as of Clang 3.4 but can already be enable separately with -fslp-vectorize.

So for single threaded code I'm already leaning towards Clang. OpenMP is going to get integrated as well, as of then, all bets are off. Exiting times to be a C/C++ dev... (or any other kind, for that matter, LuaJIT never ceases to amaze me).

Re:GNU excitement (1)

K. S. Kyosuke (729550) | 1 year,27 days | (#44950575)

You should take a look at the SLP vectorizer

Aren't vectorizers a serious language smell? Once you're basically forced to start guesstimating what is the mutable-variable-manipulating C-level program trying to actually do, all bets are off what the vectorizer is going to be able to deduce.

Re:GNU excitement (0)

Anonymous Coward | 1 year,27 days | (#44951987)

Well, every major CPU instruction set now has special optimized instruction set extensions for vector math, so you can either use the vectorizer or start writing embedded assembly. Or just have your code run slower, I guess.

Re:GNU excitement (1)

K. S. Kyosuke (729550) | 1 year,27 days | (#44952751)

so you can either use the vectorizer or start writing embedded assembly

This is a false dichotomy, if I've ever seen one. There are languages such as APL, J, K, etc. that don't need vectorizers and still can generate native code with vector instructions, simply because their high-level operators already contain the algebraic information that the vectorizers for C/C++ are trying to recover from loopy code.

Re:GNU excitement (0)

Anonymous Coward | 1 year,27 days | (#44952925)

This is a false dichotomy, if I've ever seen one. There are languages such as APL, J, K, etc. that don't need vectorizers and still can generate native code with vector instructions, simply because their high-level operators already contain the algebraic information that the vectorizers for C/C++ are trying to recover from loopy code.

This is a false dichotomy. If you write a APL, J, K, etc. compiler using LLVM it will use the same vectorizes that the Clang front end uses.

Re:GNU excitement (1)

loufoque (1400831) | 1 year,27 days | (#44953537)

The correct way to use SIMD is to use intrinsics.
There are also libraries that wrap the functionality portably.

Using inline assembly is about the worst thing you can do, unless you don't care about composability at all.

Re:GNU excitement (1)

DrXym (126579) | 1 year,27 days | (#44952437)

Slower. For a time. Chances are it would provide the motivation for someone to optimize it even more.

BSD (0)

Anonymous Coward | 1 year,27 days | (#44949737)

Now that Clang/LLVM has got this finished, I'm wondering what a system would look like with:

    * Linux as the kernel

    * Clang/LLVM as the system C/C++ compiler

    * Heirloom Toolchest as the basic userland toolchain

    * Wayland as the underlying display system

    * musl as the system C library

That would be Linux, but would contain almost no GNU code. Not that I have anything against GNU, but the Heirloom Toolchest, Clang, and musl are all more standards compliant, smaller, and often faster than their GNU counterparts. I wonder what a Linux distribution like that would look like. I'd use it.

(I hate how "GNU's Not Unix!" is really becoming more and more true. Unix was about minimalism, and sometimes GNU seems like it's about stuffing everything possible into every tool.)

So kind of like FreeBSD: less and less GNU code over time.

Re:!GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44949741)

It would be buried under the bodies of Richard Stallman's victims.

Re:!GNU/Linux (1, Informative)

mark-t (151149) | 1 year,27 days | (#44949813)

X isn't GNU licensed... replacing it with Wayland would not decrease the amount of GNU code in the system.

And GNU/Linux was a term coined by Stallman, probably because he may have been getting antsy about there not being an official GNU kernel yet, and so he figured he'd just appropriate another one without actually asking anybody... one that already existed with a GNU license, and was already in respectable condition. But Linux was never actually part of the GNU project, so calling it GNU/Linux strikes me as something of a misnomer. Like calling a Japanese car an American car just because it is driven in the USA.

Bad analogy (0)

Anonymous Coward | 1 year,27 days | (#44949919)

Perhaps a much better one would be whether to call a Honda Civic a Am/Jap car because it has a Chevy engine...

Re:Bad analogy (0)

Anonymous Coward | 1 year,27 days | (#44950071)

dafuq? Unless you're talking about the SBC swap you did in your garage, the engine in a Civic has never been from Chevy.

Re:Bad analogy (1)

armanox (826486) | 1 year,27 days | (#44951421)

Not the engine, but we found parts in a friends Acura that had AC Delco (GM) part numbers on them.

As long as you're on Wayland (1)

smitty_one_each (243267) | 1 year,27 days | (#44950633)

Stone Temple Pilots vs. Velvet Revolver is a far more rockin' analogy*.

*Any spelling errors contained in this gag are just so many flies in the vaseline.

Re:As long as you're on Wayland (0)

Anonymous Coward | 1 year,27 days | (#44950849)

Did you get that analogy in the Vatican Gift Shop?

Re:!GNU/Linux (1)

Anonymous Coward | 1 year,27 days | (#44949947)

What? "GNU/Linux" refers to a combination of the Linux kernel and GNU userland utilities. Neither kernel or userland is much use without the other.

Re:!GNU/Linux (2)

mark-t (151149) | 1 year,27 days | (#44950125)

Nobody will argue that the utilities that came with Linux were all GNU, but that does not make it GNU/Linux any more than the system that I used while I was at university should have been called GNU/HPUX because the system administrator had replaced all the standard HPUX tools with GNU ones.

Linux was originally developed with and for the tools that came with Minix at the time... almost all of which were also GNU, but nobody ever called Minux GNU/Minix. It's more the case that the GNU tools were ported to Linux just as they were to Minix.

Re:!GNU/Linux (1)

Zero__Kelvin (151819) | 1 year,27 days | (#44951619)

"Nobody will argue that the utilities that came with Linux were all GNU, but that does not make it GNU/Linux "

Neither does it make an entire OS Linux just because the kernel is Linux. That being said, I'll argue it. The user space tools (which you are calling utilities) weren't all GNU. Some distributions have a BSD based init system while others had a AT&T System 5 based init [wikipedia.org] . Neither of those is from GNU, and yet almost all but Gentoo had one of them until systemd [wikipedia.org] came along. While it is indeed true that many of the core utilities [wikipedia.org] were/are from GNU, many of the other Linux utilities [wikipedia.org] are not from GNU.

All of that being said, calling it GNU/Linux rather than Linux is better than calling a whole OS Linux when only the kernel and util-linux are actually Linux, or calling it Linux/BSD/GNU or Linux/System5/GNU. None of these are accurate. Of course, the absolute best way to describe any Linux based distribution is to call it a Linux based distribution. Why? Well lets start with the fact that a distribution is much more than on Operating System and certainly more than just a kernel.

To recap: Just call it a frigging Linux based distribution, but only say Linux when you mean the kernel and only the kernel. If you must err on the side of brevity, GNU/Linux is best, since even the source that isn't from GNU has been compiled by GCC up until now, at least.

Re:!GNU/Linux (1)

mark-t (151149) | 1 year,27 days | (#44952045)

...calling it GNU/Linux rather than Linux is better than calling a whole OS Linux when only the kernel and util-linux are actually Linux

I used an HPUX system in university where the sysadmin had replaced every last command line tool with GNU counterparts.

The system didn't spontaneously become a GNU/HPUX system.... it was still all HPUX, The GNU tools has just been ported to run on it.

Likewise, the GNU tools have all been ported to run on Linux. That doesn't make it GNU/Linux.

Re:!GNU/Linux (1)

Zero__Kelvin (151819) | 1 year,27 days | (#44952649)

"The system didn't spontaneously become a GNU/HPUX system"

Of course it didn't happen spontaneously. It became a GNU/HPUX system through a lot of hard work on the part of the system administrator.

Re:!GNU/Linux (1)

mark-t (151149) | 1 year,27 days | (#44952691)

My point was that it was *NEVER* GNU/HPUX.... It was always just an HPUX with the GNU tools ported to it and installed on it.

Re:!GNU/Linux (1)

Zero__Kelvin (151819) | 1 year,27 days | (#44953011)

... and my point was, of course it was! It became that by your own admission when GNU was married with HPUX to create a GNU/HPUX system

Re:!GNU/Linux (1)

mark-t (151149) | 1 year,27 days | (#44953351)

Negtaive.... labelling it GNU would imply that it has some affiliation with the GNU project. HPUX does not. Neither did the sysadmin.

Re:!GNU/Linux (1)

samkass (174571) | 1 year,27 days | (#44952657)

Why are you defining "Linux" as just the kernel? The original meaning was the entire OS, with the phrase "Linux kernel" referring to just the kernel. If you want to err on the side of brevity, "Linux" is accurate, "GNU/Linux" is what RMS wants everyone to call it, and "GNU/MIT/BSD/Apache/Canonical/RHEL/SUSE/Linux" would be more accurate. I'd advise ignoring the last two options and calling the OS by it's original name-- Linux.

Re:!GNU/Linux (1)

Zero__Kelvin (151819) | 1 year,27 days | (#44952981)

"Why are you defining "Linux" as just the kernel? The original meaning was the entire OS, with the phrase "Linux kernel" referring to just the kernel."

If you really want to know what is actually Linux, here is the link [kernel.org] . It doesn't actually matter what it was first called, but you are wrong. It was actually first called: a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. [thelinuxdaily.com]

"I'd advise ignoring the last two options and calling the OS by it's original name-- Linux."

Again, it would be awesome advice if that was the original name in the first place. It wasn't.

Flash forward to today. Linux is the kernel. You can use git to get Linux as follows git pull git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git See. It's not called linux-kernel.git, just linux.git. (don't be confused by the kernel.org domain name. As it turns out there is lots of stuff not related to the kernel on kernel.org and lots of domains without kernel in the name where you can get the linux source, which again, contains the kernel)

To make an OS you need user space tools, and you cannot make an OS using only Linux and the util-linux user space tools. Period.

Re:!GNU/Linux (1)

dfghjk (711126) | 1 year,27 days | (#44952895)

"All of that being said, calling it GNU/Linux rather than Linux is better than calling a whole OS Linux when only the kernel and util-linux are actually Linux, or calling it Linux/BSD/GNU or Linux/System5/GNU. None of these are accurate."

The "it" you are referring to doesn't need to be referred to at all. If you want to talk components, there are names for those. Otherwise use the name of the distribution. No need for contrived names for subsets when those names are chosen to satisfy an agenda. Respect the choices made by the people who have done the work, GNU/Linux was coined by someone NOT responsible for the work.

Re:!GNU/Linux (1)

Zero__Kelvin (151819) | 1 year,27 days | (#44953053)

"Respect the choices made by the people who have done the work, GNU/Linux was coined by someone NOT responsible for the work."

Are you on drugs or something? If not:then I recommend you start doing drugs immediately.

Re:!GNU/Linux (2)

dfghjk (711126) | 1 year,27 days | (#44952823)

Nothing in the GPL stipulates that the FSF gets to rename your project if you use some of their code. It has only occurred in this case due to Stallman's jealousy and no one should entertain his ego. GNU/Linux is a term that should be universally rejected, software freedom demands it.

Re:!GNU/Linux (1)

dfghjk (711126) | 1 year,27 days | (#44952769)

"GNU/Linux" is Stallman's desire to take credit for something Linus and large group of programmers did that Stallman failed to do.

Re:!GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44953099)

Er the point is that the Linux kernel is indeed useful without the GNU userland.

The GNU userland however has no usable GNU kernel it can shack up with on the rebound.

Re:!GNU/Linux (2)

TheRealMindChild (743925) | 1 year,27 days | (#44949985)

And GNU/Linux was a term coined by Stallman, probably because he may have been getting antsy about there not being an official GNU kernel yet, and so he figured he'd just appropriate another one without actually asking anybody

It is very appropriate, but at the time, a whole lot of people counldn't understand why. Now you have Android. Linux kernel without the GNU userland. GNU/Linux and Android are not compatible

Re:!GNU/Linux (2)

mark-t (151149) | 1 year,27 days | (#44950067)

No... it's not appropriate. It completely misrepresents the origins of LInux as having anything to do with the GNU project.

Linux was GNU licensed, but was not *ever* part of the GNU project. If GNU made a distro of LInux it would be reasonable to call that distro GNU/Linux, but afaik they do not. The term would still be inapplicable to other distros, however.

Re:!GNU/Linux (1)

TheRealMindChild (743925) | 1 year,27 days | (#44950747)

Would you rather it be called "GNU Userland/Linux"? In the same vein, would you be ok with Windows RT being called "Windows 8"?

Re:!GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44951107)

I'd rather it be called "Linux".

Re:!GNU/Linux (1)

dfghjk (711126) | 1 year,27 days | (#44952983)

Never, ever did the "userland" need to be mentioned in the name of the product until Stallman declared it so. There is no need for it now.

There is a need for distinct products, such as in your example, to have distinct names.

Linux distributions have distinct names and Stallman doesn't get to overrule what those names are. If he really cared about freedom he'd be on the other side of his argument.

Re:!GNU/Linux (1)

Raenex (947668) | 1 year,27 days | (#44951149)

No... it's not appropriate. It completely misrepresents the origins of LInux as having anything to do with the GNU project.

I thought it was petty on Stallman's part to try and call it GNU/Linux, but without the GNU tools there is no Linux. I can see why it bothered Stallman that all the glory and name recognition of Linux went to Linus and his kernel.

Re:!GNU/Linux (1)

larry bagina (561269) | 1 year,27 days | (#44952013)

Android and GNU/Linux aren't "compatible" for reasons that have nothing to do with the GNU userland (which runs quite fine on android).

Re:!GNU/Linux (1)

dfghjk (711126) | 1 year,27 days | (#44952921)

"GNU/Linux and Android are not compatible"

There is no such thing as "GNU/Linux".

Re:!GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44950169)

Wasn't the name a reference to the use of the GNU toolset in Linux distributions as GNU with/on Linux?

Re:!GNU/Linux (1)

mark-t (151149) | 1 year,27 days | (#44950297)

That is the justification is frequently used, but if you completely replace the toolchain of any unix-like operating system with GNU ones, that does not make that particular system suddenly GNU. The GNU tools were all ported to Linux, but Linux is not and has never been part of the GNU project, so calling it GNU/Linux is a misnomer.

Re:!GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44951715)

We are not calling the KERNEL GNU/Linux. We are calling the operating system formed by gnu libraries, toolset and linux GNU/Linux.

If you can't see the logic in that, I'm very sorry for you.

PS: Very fun to see you reply and argue with everybody, good old slashdot.

Re:!GNU/Linux (1)

mark-t (151149) | 1 year,27 days | (#44951979)

This has nothing to with the kernel itself or the suite of tools it is distributed with. It has to do with calling something GNU that isn't GNU. It compeletely misrepresents what LInux originally was... which is a free replacement for Minix. It was Stallman's decision to call it GNU/Linux, which, I'd like to point out, he did so without asking anybody, effectively trying to appropriate Linux as if it were part of the GNU project all along even... though, again, it never was.

If I write my own OS and released it under a GNU license, just because I bundle it with GNU tools, that doesn't suddenly make it GNU/BlahOS. It makes it BlahOS bundled with GNU tools that were ported to it.

I used an HPUX system in university that the sysadmin had replaced all the starndard tools with GNU ones... that didn't make that system GNU/HPUX.

Re:!GNU/Linux (1)

K. S. Kyosuke (729550) | 1 year,27 days | (#44950691)

X isn't GNU licensed... replacing it with Wayland would not decrease the amount of GNU code in the system.

You're obviously confusing GNU system code and GPL'd code.

Re:!GNU/Linux (4, Interesting)

iluvcapra (782887) | 1 year,27 days | (#44949833)

(I hate how "GNU's Not Unix!" is really becoming more and more true. Unix was about minimalism, and sometimes GNU seems like it's about stuffing everything possible into every tool.)

If they didn't, it'd be easier for people from the proprietary and BSD-compliant-license land (like Apple and Google) to circumvent the spirit of the GPL. As long as you have to link into their code, or copy and paste it, they control what you can do with it. If you can just invoke whatever little piece of GPL code you want with arguments, you can progressively replace their tools without adding anything back to the original GCC tools -- if you can code around a bug in GNU project without submitting a patch to that project, that's adverse to the opening of the code in the first place. GCCs middle end is intentionally blurry, and not modularized into a separate tool, to keep people from taking their own parser and bolting GCC's optimizations onto it, just as an example.

It follows that that changes to the tools, and the process of creating the tools, thus stays under the political thumb of various FSF-aligned BDFLs.

Re:!GNU/Linux (0)

AlphaWoIf_HK (3042365) | 1 year,27 days | (#44949911)

It's 14:07; time to rummage through your soiled undies!

Re:!GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44949949)

If they didn't, it'd be easier for people from the proprietary and BSD-compliant-license land (like Apple and Google) to circumvent the spirit of the GPL. As long as you have to link into their code, or copy and paste it, they control what you can do with it. If you can just invoke whatever little piece of GPL code you want with arguments, you can progressively replace their tools without adding anything back to the original GCC tools -- if you can code around a bug in GNU project without submitting a patch to that project, that's adverse to the opening of the code in the first place. GCCs middle end is intentionally blurry, and not modularized into a separate tool, to keep people from taking their own parser and bolting GCC's optimizations onto it, just as an example.

It follows that that changes to the tools, and the process of creating the tools, thus stays under the political thumb of various FSF-aligned BDFLs.

Which is the very opposite of what open software is meant to be about. Good job GNU project.

Re:!GNU/Linux (-1)

Bengie (1121981) | 1 year,27 days | (#44950235)

It's so funny when non-programmers theorize about how programming works. You'd make a great politician, thinking you know how things work, then telling people how to fix them.

Re:!GNU/Linux (1)

iluvcapra (782887) | 1 year,27 days | (#44950699)

I dunno, I do develop software, what's the matter with my account?

Re:!GNU/Linux (2)

Zero__Kelvin (151819) | 1 year,27 days | (#44951641)

You're logged into it.

Re:!GNU/Linux (1)

Bengie (1121981) | 1 year,27 days | (#44952707)

And you've convinced yourself that when someone copies your code, you no longer have access to your code?

You seem to have applied "single responsibility" beyond its intended scope

Re:!GNU/Linux (2)

lgw (121541) | 1 year,27 days | (#44951115)

The GNU project is forcing a separation between the GPL world and the BSD world. Mainstream Linux will follow the BSD path. That will marginalize the GPL world over time, IMO.

It follows that that changes to the tools, and the process of creating the tools, thus stays under the political thumb of various FSF-aligned BDFLs.

I believe a heavy hammer is descending towards said thumb.

Re:!GNU/Linux (2)

iluvcapra (782887) | 1 year,27 days | (#44951533)

I think it was always contingent on who uses the software and who develops it. For a long time GPL-land was superior because it could collect a lot of small developers' free time, and these people were developing tools for their own use, thus they all had incentives to stay within the ecosystem and they all benefited.

In a world where large corporations are pouring hundreds of paid developers into OSS projects, using the OSS licensing not for ideological reasons but for business model reasons, the GPL paradigm has a lot of trouble competing, particularly on tools where the set of people who are users is much larger, or mostly disjoint, from the set of people who are developers.

The political stuff in GPL-land is a symptom of the ideological mission, and the perception on the part of many misguided BDFLs (by no means all of them) that they're the only game in town and they don't have to compete for coder-hours with other projects.

Re:!GNU/Linux (1)

lgw (121541) | 1 year,27 days | (#44951877)

Yep, stuff of practical real-world benefit always wins over idealism in the end, and that tension is at the heart of the GPL/BSD split.

Re:!GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44951593)

How can you make a statement like that when the Linux kernel itself is GPL? :P

Re:!GNU/Linux (2)

sl4shd0rk (755837) | 1 year,27 days | (#44949859)

I'm wondering what a system would look like with

Sounds like your describing OSX

Re:!GNU/Linux (1)

MrHm (242418) | 1 year,27 days | (#44949983)

* BSD as the kernel ...

Re:!GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44950417)

GNU/BSD?

Re:!GNU/Linux (1)

Anonymous Coward | 1 year,27 days | (#44951141)

Yes. [debian.org]

And yes again. [debian.org]

Although I'd be interested in an opposite project, with a Linux kernel and a BSD userland (especially the BSD libc).

Re:!GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44949989)

Like other similarly licensed projects
Likely better in manyways, but less useful overall because of a smaller community.

For it to overtake/replace their GNU counterparts they don't need to be just better, but "killer app" better because they need to overcome the inertia of more popular projects. And no, not having a "more free" license is not that killer app.

I think history has settled the OSS license debate. BSD style licenses don't grow your community. The big companies don't really contribute back. If your software ends up in a bunch of big commercial projects, but nothing flows back.. What's the point?

Re: !GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44951189)

the most amusing part of this debate is that BSD advocates have become FAR more zealous about licenses than GPLers.

Re:!GNU/Linux (2)

stenvar (2789879) | 1 year,27 days | (#44950565)

Not that I have anything against GNU, but the Heirloom Toolchest, Clang, and musl are all more standards compliant, smaller, and often faster than their GNU counterparts

They also lack tons of useful features, and a lot of stuff simply wouldn't run on such a system.

Re:!GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44950763)

Sometimes OpenWRT is called a Busybox/Linux distro, because the GNU coreutils have been replaced by Busybox.

In this case, the advantage is not that Busybox is faster, but that it takes less flash storage.

Re:!GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44951291)

GNU is like Wozniak and Linux is like Steve Jobs....Linux will keep doing great things but GNU is past its usefulness.

Re: !GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44951577)

"Linux is like Steve Jobs."

Yep. Six feet under and going nowhere.

Re:!GNU/Linux (1)

jones_supa (887896) | 1 year,27 days | (#44951969)

The basic set of UNIX command line tools is the only area on which a Linux operating system depends on GNU.

Re: !GNU/Linux (0)

Anonymous Coward | 1 year,27 days | (#44952717)

In general I agree with you. The closest right now would probably be Aboriginal, which is moving in that direction but with toybox rather than heirloom. One thing missing in your list of replacements is the BSD binutils replacement (elftoolchain)... or perhaps LLVM got its own now?

Until it's ubiquitous, it's still a no go... (0)

Anonymous Coward | 1 year,27 days | (#44949591)

I've tried to make an argument with the development studio where I work that we should be looking at C++11 for future projects, but the technical director and producer won't hear of it.

"It's not universally supported yet", being their biggest objection. Most significantly, MSVC's latest roadmap doesn't show full C++11 compliance before 2015, and the custom compilers used for some hardware platforms (particularly certain game consoles) don't even have a hint of C++11 support for current platforms on their horizon.

Re:Until it's ubiquitous, it's still a no go... (2)

ledow (319597) | 1 year,27 days | (#44949823)

Surely those sort of decisions first need a case where - despite all efforts to the contrary - there's something that can't be done as easily any other way as it could if you moved to a new C++ standard.

That's my biggest problem with most of these standards - quite what they add is hard to define, especially when the problems you point out are taken into account. Is there really anything in such a standard that couldn't be replicated by the programmers quite easily enough (or close enough), and would actually save more effort that it would take to create?

Until you find a use case that is advantageous for the exact type of things you do everyday (and which you cannot replicate simply via alternate methods), it's probably best to stay where you are.

Re:Until it's ubiquitous, it's still a no go... (1)

mark-t (151149) | 1 year,27 days | (#44949917)

I think the use case for its advantage would be development time by taking advantage of certain features that didn't exist in the language previously... but saving development time is meaningless if you can't actually develop for your intended target architecture.

Re:Until it's ubiquitous, it's still a no go... (0)

Anonymous Coward | 1 year,27 days | (#44949853)

too bad. the stl improvements are very nice. A lot of stuff I was doing already with 3rd party (boost, etc) or my own code was incorporated in. Normally, they go full retard with their "improvement" based on ivory tower thinking of what people should do (vector<bool> much?) This time, they looked at what people were actually doing with c++.

Re:Until it's ubiquitous, it's still a no go... (1)

iampiti (1059688) | 1 year,27 days | (#44951939)

Well, I'd say he's ok. IMO it's still to early to write C++11 code for any real products. It's not only the matter of the tools (that's the easy part) but the fact that most C++ aren't going to be familiar with those changes and new ways of doing things yet.

Re:Until it's ubiquitous, it's still a no go... (1)

boristhespider (1678416) | 1 year,27 days | (#44952515)

"it's still to early to write C++11 code for any real products"

What you seem to mean is it's too early to write C++11 code for any real products if your development team aren't up to speed with it. That's a totally fair statement, but it's clearly not true that it's too early to write C++11 for real products -- we do. We're liable to swap to C++14 as soon as commercial compliant compilers become fully stable and settled (and, of course, that we can convince our IT support to license them, which may take a year or two).

[Caveat: my personal experience with C++ was first with a Borland compiler probably not fully compliant with C++98, and then onto an MS compiler compliant with C++11, and a gap of 12 years. The language I came back to was significantly nicer - for my way of thinking - than the language I left. So I'm rather biased towards C++11 and even more so towards what I see coming up with C++1Y.]

Everytime I read about C++1Y.. (1)

InterBigs (780612) | 1 year,27 days | (#44949993)

.. I want to start hacking around with it. But then I remember how much I love and I just don't care anymore.

Re:Everytime I read about C++1Y.. (1)

InterBigs (780612) | 1 year,27 days | (#44950003)

ugh.. how much I love <insert language of choice>. Slashdot is not unlike C++.. who uses HTML in comments anyway?

Re:Everytime I read about C++1Y.. (1)

Valdrax (32670) | 1 year,27 days | (#44950683)

Slashdot is not unlike C++.. who uses HTML in comments anyway?

Personally, I tend to use the <quote> and <em> tags in over half the posts I make.

It you don't like Slashdot's default behavior, switch your default posting method to "Extrans" instead of "Plain Old Text," and all your accidental HTML tags will get escaped out approrpriately. (Personally, I'd have used "[ ]" for a substitution indication rather than "< >", but YMMV.)

Re:Everytime I read about C++1Y.. (1)

Anonymous Coward | 1 year,27 days | (#44950103)

C++0xB made the language a bit more bearable for those times when you have no choice but to use it, but it certainly doesn't make me want to use C++ when I have any other alternative whatsoever.

Re:Everytime I read about C++1Y.. (0)

stenvar (2789879) | 1 year,27 days | (#44950589)

I hear you. Decade after decade, C++ is gradually fixing its enormous bulk of horrendous problems. It almost is a half decent language now. Almost.

Re:Everytime I read about C++1Y.. (2)

K. S. Kyosuke (729550) | 1 year,27 days | (#44950831)

.. I want to start hacking around with it. But then I remember how much I love and I just don't care anymore.

I gave up on C++ after I realized how much it confuses the problem of writing efficient software with the problem of giving you individually very efficient components that you're free to combine in ways that are either elegant, or efficient, but not both at once. I feel like it's 1970's all over again when I look at C++ code. Virtually *any* piece of C++ code, for that matter. There are better things one can do with one's life than endless psychological self-harm.

Re:Everytime I read about C++1Y.. (1, Funny)

Anonymous Coward | 1 year,27 days | (#44951483)

It's too bad your rotted your brain with Python and C# but C++ is the best language for non-trivial projects and will continue to be for the rest of our lifetimes.

Re:Everytime I read about C++1Y.. (1)

K. S. Kyosuke (729550) | 1 year,27 days | (#44952161)

I'd never touch Python and C# unless my life depended on it. And as far as "non-trivial projects" are concerned, I think you've misspelled "Common Lisp", at least in this and the following decade. What the more distant future holds I don't profess to know.

Re:Everytime I read about C++1Y.. (0)

Anonymous Coward | 1 year,27 days | (#44952627)

And you misspelled "Haskell". It must be international typo day.

Re:Everytime I read about C++1Y.. (1)

HiThere (15173) | 1 year,27 days | (#44952637)

Lisp has it's points...but it's not that great. And many of the libraries that I want to use are a real pain to use from it. And the only decent development environment I've found is actually for Scheme (Racket), and while it provides, e.g., futures, it doesn't actually execute the code in parallel. (Yes, I know that's not actually a criticism of Common Lisp. For that stick with the libraries and the lack of a development environment.)
P.S.: I once, long ago, bought a copy of Franz Lisp (my first common lisp). It was OK, but not great. And updating it would have cost me the other arm and leg. A usabe version isn't cheap. So I formed my opinions recently based on SBCL and CMUCL.

Some people like Haskell, but I have a hard time thinking that way.

Etc.

Currently I've settled on D as the best compromise. It's missing a lot of libraries, but if there's a C interface, it's usually possible to link them to D.

As for C/C++... my real problems with them are memory management and unicode. (With C++ I also despise the way one is required to use templates for everything. Generics are much preferable.)

Now except for memory management and inflexibility (leading to verbosity), esp. in handling character strings, Ada is preferable in every way that I'm aware of to C++. C++ *used* to be a simpler language to learn, but that's not true any longer. The standard has expanded to the point where Ada is simple in comparison. (Ada *does* have usable memory management, but it's a lot more complex than a decent garbage collector. So while it's better than C/C++, it loses out in comparison to D, among others.)

As for Java...I consider that it's way of handling unicode is broken. It works for many "characters", but not for the less common cases. And argument can be made for either utf-8 or utf-32, but utf-16 is a terrible compromise, even when done well, and Java is not an example of it being done well.

Re:Everytime I read about C++1Y.. (0)

Anonymous Coward | 1 year,27 days | (#44951663)

Maybe programming isn't for you then. Have you looked into janitorial work?

A wrap-up of new features (3, Informative)

jones_supa (887896) | 1 year,27 days | (#44951843)

If you are interested, the GoingNative 2013 talks [msdn.com] include a C++11/14 Sampler by Scott Meyers.

libc++: part of LLVM or Clang? (1)

unixisc (2429386) | 1 year,27 days | (#44953445)

Okay, I'm not a programmer, but shouldn't libc++ be a part of Clang - presumably C language, and not a part of a low level virtual machine?

B'cos if I understood it right, LLVM is the platform to which the code is compiled, while LLVM itself has to run on the bare metal. Or am I missing something here?

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?