Beta

Slashdot: News for Nerds

×

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!

Compiz Project Releases C++ Based v0.9.0

timothy posted about 4 years ago | from the rewritten-from-scratch dept.

GUI 237

werfu writes "Compiz 0.9.0, the first release of Compiz rewritten in C++, has been announced on the Compiz mailing list. See the announcement for more info." Compiz has for years been one of my favorite ways to make Windows users envious, despite my (Linux) systems' otherwise low-end graphics capabilities. Besides the switch to C++ from C, this release "brings a whole new developer API, splits rendering into plugins, switches the buildsystem from automake to cmake and brings minor functionality improvements."

cancel ×

237 comments

Wow! (5, Funny)

Jugalator (259273) | about 4 years ago | (#32798304)

I'm excited to learn about more software using this new programming language of the future!

Re:Wow! (0, Funny)

Anonymous Coward | about 4 years ago | (#32798378)

troll or idiot?

Re:Wow! (1)

McGiraf (196030) | about 4 years ago | (#32798412)

Jealous of first poster or what?

Re:Wow! (4, Funny)

AnonymousClown (1788472) | about 4 years ago | (#32798424)

troll or idiot?

People with preternatural foresight will often look like the idiot or a fool.

I think the grand parent sees the potential of C++ and a bright future for this new and advanced language!

Re:Wow! (1)

Jugalator (259273) | about 4 years ago | (#32798572)

Truer words haven't been spoken! I am filled with jubilant delight to hear that the Compiz team could exploit the wildly successful merge of the object-oriented and functional programming paradigms of C++!

Re:Wow! (0)

Anonymous Coward | about 4 years ago | (#32798644)

Aargh! you buncha bloody saddas :D (ow sorry... this isn't the bbc nor facebook? )
anyhoo....
nice to hear compiz is getting updated in c++..
and stop pestering Bjarne... C++ is great, but not new....

sincerely,
the anonymous coward
(still having the most posts on slashdot :-) muhahahahah! )

favorite way (-1, Troll)

ascari (1400977) | about 4 years ago | (#32798344)

So compiz is timothy's favorite way to make windows users envious. My list would include things such as:
  • Fewer viruses
  • Lower cost of ownership
  • CLI/scripting system that actually works
  • Most open source software runs on it
  • Drivers for just about any piece of hardware ever built
  • No blue screen of death
  • Not nearly as resource hungry (unless of course you use Compiz :-)
  • Penguins way cooler than butterflies

But the easiest way of making a windows user envious is to use a mac

Re:favorite way (2, Insightful)

uberchicken (121048) | about 4 years ago | (#32798386)

-1, linux zealotry bordering on FUD

Re:favorite way (2, Insightful)

AnonymousClown (1788472) | about 4 years ago | (#32798416)

-1, linux zealotry bordering on FUD

Nah. He's karma whoring.

Re:favorite way (5, Informative)

Jurily (900488) | about 4 years ago | (#32798770)

No, karma whoring is to post something completely obvious you know will be modded up and not add anything to the discussion. Like this comment.

Re:favorite way (1)

V!NCENT (1105021) | about 4 years ago | (#32799800)

Fewer Viruses - check
Lower TCO - check
CLI is not working on windows - wrong
Most FLOSS runs on it - check
Drivers for more hardware - check
No kernels panics (BSOD) - wrong
Not nearly as resource hungry - wrong because tests indicate that Windows 7 is less hungry than Ubuntu
Penguins - what a BS
The easyest way of making a Windows user envious = getting the hottest chick on the planet

Re:favorite way (1, Insightful)

Anonymous Coward | about 4 years ago | (#32798426)

Fewer viruses

True, Linux has a smaller user base/market share, and therefore is less of a target for malicious software.

Lower cost of ownership

Debatable, depending on the environment and exact software... but often this is true.

CLI/scripting system that actually works

Very, very true. Although PowerShell is quite powerful... but quite different from most shell scripting in the UNIX world.

Most open source software runs on it

Depends what you mean by "most" ... "most" open source software runs on many, many platforms... including Windows.

Drivers for just about any piece of hardware ever built

'cept all the hardware that only has drivers for Windows.

No blue screen of death

True, you get kernel panics instead when hardware fails or you have a rogue driver. The driver issue isn't as significant, however, if you can get away with sticking to the standard in-kernel drivers.

Not nearly as resource hungry (unless of course you use Compiz :-)

Again this is totally debatable depending on what you're doing and the software you are running. My Ubuntu system loads up more shit than my Windows 7 system after a fresh boot, it seems. Sometimes the gnome-power-manager is consuming 200 MB of ram all on its own. I still prefer the Ubuntu system, however.

Penguins way cooler than butterflies

Definitely true :)

Re:favorite way (0)

Anonymous Coward | about 4 years ago | (#32798530)

If you have two servers with weblogic the linux one costs $10.000.000 and the windows one $10.000.500.

Yeah linux isn't at all that cheap.

Re:favorite way (1)

somersault (912633) | about 4 years ago | (#32798776)

CLI/scripting system that actually works

Very, very true. Although PowerShell is quite powerful... but quite different from most shell scripting in the UNIX world.

You really expect any CLI, no matter how awesome, will make Windows users jealous? I definitely think Compiz is one of the few ways to make your average Windows user jealous of Linux, with perhaps your favourite package manager coming next. I remember reading that MS are building an app store for Windows though, so it won't be something to be jealous of for long!

Of course, trying to make other people jealous of you is pretty pathetic.

Re:favorite way (5, Interesting)

ZERO1ZERO (948669) | about 4 years ago | (#32798430)

Compiz doesn't actually use that much system resources, nor strain your hardware either. It uses your gfx card to do all the work, which otherwise would be doing 99% nothing in most other circumstances anyway.

Re:favorite way (5, Informative)

KiloByte (825081) | about 4 years ago | (#32798594)

In fact, on old systems with a graphics card it is significantly faster than the traditional way of redrawing windows.

Why? Because:
1. the gfx card can do part of the work
2. all windows are already drawn and kept in the graphic card's memory

Re:favorite way (3, Informative)

drinkypoo (153816) | about 4 years ago | (#32798990)

Compiz doesn't actually use that much system resources, nor strain your hardware either.

I have a 3.2GHz tri-core Phenom II system with a GTS 240 (~400MHz, 96 stream processors) and Compiz will easily consume 5% or more if you have a window with continual graphics updates, like a game or a video player. That's a lot of CPU! You can manually disable transforms on that window but that requires a visit to the settings manager that would leave the average user dumbfounded.

Re:favorite way (0)

Anonymous Coward | about 4 years ago | (#32799634)

I have a dual core Pentium E5200 with 1 GB of RAM and Compiz takes very little resources. Next to no CPU usage, even with video players and such.

BS (0, Offtopic)

airjrdn (681898) | about 4 years ago | (#32798520)

  • Fewer viruses - Agreed
  • Lower cost of ownership - BS, too much time is spent hacking up config files to make crap work or work right
  • CLI/scripting system that actually works - BS, anything you can write and make work in Linux, I can in Windows
  • Most open source software runs on it - Show me anything worthwhile that doesn't run in Windows or have a better alternative there
  • Drivers for just about any piece of hardware ever built - BS, that's the primary thing most users have issues with, half baked drivers
  • No blue screen of death - Agreed, but I haven't seen one yet in Win7
  • Not nearly as resource hungry (unless of course you use Compiz :-) - Agreed, but neither was Win98 which is typically how Linux feels
  • Penguins way cooler than butterflies

Mod me down if you want to, but I've yet to have Windows drop me to a command prompt after an video card driver update, OS update (Ubuntu anyone?) or had to recompile sound drivers after every OS update (Ubuntu on that one too). My file manager will display in a column what date pictures were taken so I can categorize them accordingly, can yours do that? It couldn't the last time I checked.

Re:BS (1, Insightful)

Anonymous Coward | about 4 years ago | (#32798604)

* Fewer viruses - Agreed

Though I still haven't figured out where all these people are catching viruses from. I never saw one once in my Windows days.

* Lower cost of ownership - BS, too much time is spent hacking up config files to make crap work or work right

FUD; while it's true that occasionally (very occasionally) one has to edit a config file, most things "just work" these days. I don't have to spend any more time hacking Linux configurations than I used to have to spend messing about with the Windows registry -- and at least Linux config files are documented!

* CLI/scripting system that actually works - BS, anything you can write and make work in Linux, I can in Windows

True, though DBUS is pleasanter to use in a script than COM. And I assume you're using VBScript, JScript, PowerShell, or a Windows port of some Unix shell, not the default batch scripting language.

* Most open source software runs on it - Show me anything worthwhile that doesn't run in Windows or have a better alternative there

True. The only advantage Linux has here is that it's easier to install open-source software and keep it up to date; the selection is basically the same.

* Drivers for just about any piece of hardware ever built - BS, that's the primary thing most users have issues with, half baked drivers

Partially true. I did have trouble with a printer a while back, and NVidia graphics drivers are still a pain if you insist on using the latest version instead of whatever's packaged for your distro. Every other bit of hardware I've tried has just worked first time.

* Not nearly as resource hungry (unless of course you use Compiz :-) - Agreed, but neither was Win98 which is typically how Linux feels

You're kidding, right? Please tell me you're kidding. Or blind. Or haven't used Win98 in 10 years, which might explain why you haven't a clue how primitive it was compared to any current OS.

Re:BS (4, Insightful)

Culture20 (968837) | about 4 years ago | (#32798848)

* Lower cost of ownership - BS, too much time is spent hacking up config files to make crap work or work right

On Windows, too much time is spent hacking up the registry to make crap work or work right. Just this last Thursday, I had to manually scan the registry to delete every reference to a printer driver that kept killing someone's spooler service... because the spooler service needed to be running to delete the printer normally. If it had been a unix system, I could have just edited a line in a file and been done.

* CLI/scripting system that actually works - BS, anything you can write and make work in Linux, I can in Windows

Using cygwin, bash compiled for Windows or DOS, or other scripting applications that are not guaranteed to be on every Windows system.

* Most open source software runs on it - Show me anything worthwhile that doesn't run in Windows or have a better alternative there

Well, Linux runs in Windows, so I'd say you've won this argument.

* Drivers for just about any piece of hardware ever built - BS, that's the primary thing most users have issues with, half baked drivers

Half-baked drivers in Windows XP, Vista, and 7. That printer driver mentioned above? It was an HP driver written for and installed in Win7 64bit.

* No blue screen of death - Agreed, but I haven't seen one yet in Win7

I haven't either, but I have seen a Win7 machine reboot constantly (the equiv of BSOD since Win7 is set to reboot on fail).

* Not nearly as resource hungry (unless of course you use Compiz :-) - Agreed, but neither was Win98 which is typically how Linux feels

I still have Win98se running on an old machine for old games. Win98se is actually snappier than modern Linux, which is in turn snappier than WinXP/7. How much window compositing did Win98se do? Firewalling? Multi-user? Even the 1998 version of Linux had multi-user support and ipchains.

Mod me down if you want to, but I've yet to have Windows drop me to a command prompt after an video card driver update

I've had it boot up to a BSOD, which looks worse than a command prompt, or a blank screen where I had to remote in or boot up in safe graphics mode.

[I've yet to have Windows drop me to a command prompt after an] OS update (Ubuntu anyone?)

I've had it boot up to a BSOD, which looks worse than a command prompt.

or had to recompile sound drivers after every OS update (Ubuntu on that one too).

I wish I could. Sometimes vendors take years to get their sound drivers working. Google realtek, imac, and Windows 64 bit.

My file manager will display in a column what date pictures were taken so I can categorize them accordingly, can yours do that? It couldn't the last time I checked.

This is the first time that I ever checked. No, it does not, but it could with a little quick editing. Right clicking and selecting properties shows that the Gnome file manager (didn't check KDE) can see the image properties, including "Date Taken", so the information is there. Linux users are probably just better mentally organized, and name their photo directories YYYY_MM_DD

Re:BS (1)

airjrdn (681898) | about 4 years ago | (#32799072)

That's my point. When moving photos from the camera to the OS I do maintain that exact directory structure, but in Windows I don't have to check every photo individually for the date taken, it's a column in the file manager.

No need to try to make Linux users smarter than they think they are though, Windows users and possibly even Mac users can be fairly mentally organized as well.

Re:BS (1)

Hatta (162192) | about 4 years ago | (#32799386)

in Windows I don't have to check every photo individually for the date taken, it's a column in the file manager.

ls -lt *.jpg

If you want to automatically file them into directories based on date you can use --time-style=iso and pipe it into awk or perl and write a quick script you can use every time you do this. You definitely do not have to sort them by date, create a folder for each date, and drag and drop each group of files into its directory.

You can do the same sort of thing in Powershell I'm sure. This isn't a case where linux is necessarily better than windows, but it is a case where the CLI is definitely better than a GUI.

Re:BS (1)

airjrdn (681898) | about 4 years ago | (#32799506)

Again, Linux pushing me to a command prompt. The point was that the file managers in Linux can't handle this basic requirement useful to users at any skill level. We can all do things at the command prompt if we can write a little code, but most users want to use the GUI.

Re:BS (1)

Hatta (162192) | about 4 years ago | (#32799748)

Linux defaults to the command line because the command line is better. There's a reason we moved beyond pointing and grunting into symbolic language. Writing a few lines of code is in fact easier than manually copying, renaming, converting, etc dozens of files. And when you're done you get a script you can use the next time such a task comes up.

If you really really want to use the GUI though, there's no shortage of file managers that will display the date in a column. Konqueror does it by default. So does Dolphin and Krusader. Same with Thunar, Xfe, and emelfm2. In fact, I'm having trouble coming up with a file manager that doesn't display the date. Rox-filer didn't at first, but it was one click to "show extra details".

Re:BS (1)

Culture20 (968837) | about 4 years ago | (#32799708)

in Windows I don't have to check every photo individually for the date taken, it's a column in the file manager.

ls -lt *.jpg

This isn't what GP was talking about. That's file modification time, not the date the photo was taken (which is data inside the image file, not in the filesystem about the file). The closest you could get with ls would be to re-touch all the timestamps to match the image date data first, then use ls.
find /image/directory/ -name \*.jpg -exec touch -d `exiftime -tg {} |sed -e 's/Image Generated: //' |sed -e 's/:/-/' |sed -e 's/:/-/'` {} \;
or something similar. I can't remember if backticks work in -exec.

Of course, exiftime has sorting built in:
exiftime -tg -l *.jpg
But since GP is a Windows user, command line is a tool of the devil.

Re:BS (0)

Anonymous Coward | about 4 years ago | (#32799824)

date taken is an information inside EXIF which obviously not visible using plain ls. -t only sort based on modification date. So no, that's not same.

Re:BS (1)

somersault (912633) | about 4 years ago | (#32798934)

I've not had to edit any config files on Ubuntu since version 8, apart from Apache - which needs exactly the same setup on Windows.

Evolution doesn't have a decent Windows port (there is a port available, but it crashed on installation and I couldn't be assed trying to diagnose it, just left the user with Outlook).

Windows "feels" worse than any OS I've ever used, with maybe the exception of Amiga Workbench 1.3.

I always file my pictures in folders with the date that they were taken in YYYY-MM-DD format, so yes I've been able to do that in both Windows and Linux ever since I started taking photos. I don't get people that leave photos on their camera for weeks (or longer). Plus if anyone else is that disorganised then I'm sure there must be one or two file explorers or photo organisers for Linux that can sort by photo tags.

Re:favorite way (1, Insightful)

L4t3r4lu5 (1216702) | about 4 years ago | (#32798546)

You forgot a unified update system with updates rarely requiring a system restart.

Re:favorite way (0)

Anonymous Coward | about 4 years ago | (#32798552)

re: viruses / vulnerabilities

try this distro: http://www.damnvulnerablelinux.org

an excellent tool for learning.

Re:favorite way (0)

Anonymous Coward | about 4 years ago | (#32798566)

However informative your list is not a Windows users list.

Re:favorite way (4, Interesting)

Rogerborg (306625) | about 4 years ago | (#32798590)

I use a variety of POSIX operating systems 95% of the time, at work through necessity, and at home through choice. And because I use them, rather than despite it, I am compelled to respond.

Fewer viruses

And drunken cheerleaders get date raped more than shut-in nerd chicks. Personally, I prefer nerd chicks, and you likely do too, but most people don't. Really, they don't, and there's no use telling them that their opinion is wrong.

Lower cost of ownership

If you don't value your time. For the latest of many, many examples down the years, I 'invested' 3 hours this weekend trying to get WiFi with WPA working again after upgrading my wife's box from Ubuntu 9.10 to 10.04. Verdict: the rt73usb driver has (yet again) returned to a state of porkage, so it was (yet again) ndiswrapper and Windows drivers for the eventual win.

CLI/scripting system that actually works

Until of course you try and run a script written for fooshell on barshell, i.e. when a distro changes its shell [ubuntu.com] .

Most open source software runs on it

Can be made to run on it, given enough time.

Drivers for just about any piece of hardware ever built

If you limit "ever" to "older than two years or so". But sure, many of the drivers give the appearance of working tolerably well, for a surprising amount of the time! And when they don't, well, there's ndiswrapper, or we'll-fix-it-in-the-next-release, or you've-got-the-source-compile-a-previous-version-yes-we-know-it-doesn't-build-against-your-kernel-headers-or-gcc-version-fix-it-yourself-you-filthy-M$-shill.

No blue screen of death

Ain't seen on one Windows for years.

Not nearly as resource hungry (unless of course you use Compiz :-)

Granted. Oh, unless you've got a driver bug, which you almost certainly do if your hardware was designed this millennium. Then see above.

Penguins way cooler than butterflies

By that measure, that would mean...

But the easiest way of making a windows user envious is to use a mac

...that.

This is not the year of Linux on the desktop (or the netbook). I thought we were there with Ubuntu 10.04, but it's actually a regression from 9.10. I'd just recommend 9.10, but that's effectively abandonware now, just like all previous versions of all Linux distros, "LTS" included.

Again: I'm writing this from Ubuntu 9.10. I've got RHEL5 in that VM over there, SUSE 11 yonder, Solaris in that shell, and even SUA on Windows (tastes a bit like POSIX). I'm happy with POSIX OSen. But I would not recommend them to a Joe Windows user, ever, since I don't want to be their Support Guy from now until there's a distro that actually Just Works.

Re:favorite way (1)

Hatta (162192) | about 4 years ago | (#32799208)

Until of course you try and run a script written for fooshell on barshell, i.e. when a distro changes its shell.

If you were using #!/bin/sh and expecting bash specific code to work, you're doing it wrong. If you want bash, call it by its proper name and it will always work.

Re:favorite way (1)

Rogerborg (306625) | about 4 years ago | (#32799530)

CLI/scripting system that actually works

Until of course you try and run a script written for fooshell on barshell, i.e. when a distro changes its shell.

If you were using #!/bin/sh and expecting bash specific code to work, you're doing it wrong. If you want bash, call it by its proper name and it will always work.

Well, sure, if your definition of "actually works" depends on "if you use it right", which is a perfectly reasonable condition.

But then that means the Windows "CLI/scripting system" also "actually work9s)", doesn't it? Perhaps more so, since (AFAIK) a script that was working won't suddenly assplode when you download a service pack or update.

Heck, maybe you were agreeing with me. It's hard to tell.

Re:favorite way (0)

Anonymous Coward | about 4 years ago | (#32799654)

But then that means the Windows "CLI/scripting system" also "actually work9s)", doesn't it?

Yes, windows work9s well.

Re:favorite way (0)

Anonymous Coward | about 4 years ago | (#32798596)

  • Drivers for just about any piece of hardware ever built

Sure, please tell me where is the driver for my cell phone's USB cable on Linux. Hell, I can't even find one for x64 versions of Windows.

Re:favorite way (3, Insightful)

CastrTroy (595695) | about 4 years ago | (#32798774)

Fewer Viruses - While this is technically true, most viruses I've seen installed on users machines are the result of users actively clicking and running an executable on their machine. While not running in root mode by default on Linux helps to prevent some of the damage, I think a virus running as a regular unprivileged user could still cause a lot of damage. This is also ignoring the fact that if the same incompetent users if presented with a message asking them to perform administrator actions for no reason at all would still click on "Yes", even if there should be no reason for them to do so, as long it promises smiley icons.

Lower cost of Ownership - Last time I went shoppping for a computer, I didn't see any discounts for not having Windows installed from the get go. Either you go with Dell/HP/Lenovo, and they only offer windows, or when the offer Linux, it's the same price, or only a little cheaper, but you get a lot less selection of machines you can get. The other option is to build your own machine from off the shelf components. This is my favourite option, as you can get exactly what you want, but you will end up spending more.

CLI/Scripting system - Almost nobody except tech geeks cares about this. Also, Powershell on Windows isn't all that bad. It has its pluses and its minuses.

Most open source software runs on it - Most all of open source that is worth running will run on Windows. Maybe not all of it, but most of the more important stuff. Conversely, almost no closed source software runs on Linux. Which might not matter to you, but if you're trying to get work done, having things like Photoshop, Outlook (hate it but necessary for business), and many other closed source programs, makes a big difference.

Drivers - Sure you get drivers for all the old stuff. But are you sure that shiny new piece of hardware that just came out last week will run to its full potential. Probably not. And there's also plenty of older hardware that I had that I couldn't run on Linux.

No Blue Screen - I haven't seen a blue screen on a Windows machine in many years. And when I do, it's usually because of bad RAM, causing something to get corrupted. Blue screens still exist, but they don't happen quite as often as they used to. I imagine most Linux systems would also crash pretty badly when they have bad memory.

I'm not some Windows Zealot. I use Windows when it makes sense, and I use Linux where it makes sense. But I don't really think that that any of the reasons you mentioned are valid. Especially if you're talking about home desktop use. Which in the case of Compiz, is exactly the kind of people we are talking about.

Re:favorite way (1)

shipofgold (911683) | about 4 years ago | (#32798868)

I am really tired of hearing about Linux and it's "Fewer Viruses". The only reason that there are fewer viruses for Linux is that the bad guys have not found a good reason to write a virus for it. Current Linux users tend to be a little more aware of the dangers of installing unknown software, but if Linux should ever gain traction on the desktop of what might be known "a typical windows user", the exact same issues regarding viruses will surface.

Some of the other points in the parent are BS as well:

  • Lower cost of ownership? -- I have spent hours trying to get a video capture card to work with the BTTV driver....my time should be worth something. In the early days just getting X11 to work on my video card was a couple of days work....that is a lot better now.
  • Drivers for most hardware? -- That BTTV driver never worked with my card...card now enjoys a home in a windows box. Hardware manufacturers should be the ones writing the drivers...not someone who reverse engineers a windows driver. Unfortunately more than a few of the Linux drivers appear to be reverse engineered hacks rather than written from hardware specs.
  • No blue screen of death? -- debug a kernel panic sometime...

Don't get me wrong, I love Linux and use it daily. A couple of things that should be on the list:

  • Package management -- If I want to know what a particular file is needed for, a linux package manager can tell me....windows is a nightmare in trying to decipher the processes that are running.
  • Automation -- While it can be done, automating something in Windows is a pain in the a--. Most Linux programs come with enough command line options that you can do stuff without the need to go into a GUI....ever try to script a GUI?

Does the typical windows/mac user care about these? No.

I am a proud user of Linux, but I fear that the day it goes mainstream, I will need to start looking for something else.

Re:favorite way (1)

mdwh2 (535323) | about 4 years ago | (#32799000)

But the easiest way of making a windows user envious is to use a mac

Something that's more closed than Windows and Linux?

No, we're not envious. You might think that we should be envious, just like the guy who brags about his expensive designer clothes or Iphone, but the rest of us don't actually care.

Re:favorite way (0, Flamebait)

Dog-Cow (21281) | about 4 years ago | (#32799200)

A Windows user is quite unlikely to care about either Windows or Mac OS X being a "closed" system.

Of course, you're extremely stupid, so I don't really blame you for missing that point.

Re:favorite way (1)

Abcd1234 (188840) | about 4 years ago | (#32799426)

Oh come on... how, exactly, is the Mac platform (no, not the iPad, not the iPhone, the Mac, ie Mac OS X) "more closed than Windows"? At best it's exactly as closed, though I'd argue somewhat less so (thanks to the existence of Darwin, their work on the ObjC gcc backend, Webkit, etc).

Sensible choices'r'us (-1, Troll)

Anonymous Coward | about 4 years ago | (#32798346)

So they switched from a sensible programming language to language that is fundamentally broken [yosefk.com] and to a build system that is incomprehensible for human beings? Wow, what an upgrade!

CAPTCHA: Virtual... How fitting.

Re:Sensible choices'r'us (2, Insightful)

Stumbles (602007) | about 4 years ago | (#32798460)

Oh yes, cmake is really complicated compared to the autotools build stuff. I mean I really enjoy fiddling around with all the *.in, *a4, *.am, ltmain.sh, etc just so I can do; ./configure --help.

But then I guess you have never tried to use cmake; else you would not have made the ignorant statement about its incomprehensibility. If you have never used autoconf, automake, make, libtool, m4 and friends it would be just as incomprehensible.

Re:Sensible choices'r'us (1)

rawler (1005089) | about 4 years ago | (#32799076)

I have used autotools, and they're still incomprehensible.

Re:Sensible choices'r'us (0)

Anonymous Coward | about 4 years ago | (#32799096)

Whenever some big project (bullet, opencv, etc) has switched to cmake and says that it is preferred over autotools, it never works. I always just end up using autotools to build it instead because it Just Works (tm).

Re:Sensible choices'r'us (1)

GreyWolf3000 (468618) | about 4 years ago | (#32799286)

You actually go through the trouble to reimplement build systems in autotools? That's a lot of work, dude. I'm calling foul here.

Re:Sensible choices'r'us (0)

Anonymous Coward | about 4 years ago | (#32798652)

Most build systems are arcane at best.

Insanely, I think Visual Stuidio's is the best out there (for ease of use)... right up until you start trying to link libraries that have been linked against different version of the runtime.

Objects... (0)

David W. White (1241890) | about 4 years ago | (#32798352)

This is a good move. I found it surprising that C was still more popular than C++, given C++ benefits. See http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html [tiobe.com] .

Re:Objects... (2, Interesting)

daid303 (843777) | about 4 years ago | (#32798382)

I think it's because if you want all the shiny bits of objects and encapsulation then you use Java. If you want raw speed & dirty tricks then you use C.

I favor C++ myself, but I'm a huge fan of breaking encapsulation.

Re:Objects... (3, Funny)

Anonymous Coward | about 4 years ago | (#32798440)

Fun fact: I knew somebody who added a preprocessor step to his compile process to make every class as a friend of every other class, because he was tired with "not being able to use the pesky private stuff in coworker's cold".

Re:Objects... (1)

David W. White (1241890) | about 4 years ago | (#32798444)

I understand, but for speed I expect that C++ still outperforms Java, and while C should outperform both of them, C doesn't feature encapsulation, polymorphism and all the other goodies that OOP provides. Why would you want to break encapsulation? Apart from one article I saw in the ACM journal about a year or so ago, every other paper I have read showed that OOP programming was more effective that programming without it (except for those few highly specialized areas where you have to use specialized languages).

Re:Objects... (2, Interesting)

Shados (741919) | about 4 years ago | (#32798478)

The point is that its niche. The range of situations where you need raw speed, yet by-the-book OOP doesn't slow you down too much is very very small. Games and large commercial desktop apps are basically it. Line of business apps will usually go .NET or Java, web apps will go PHP, .NET, Java, PERL, Python, whatever. Drivers will go C/Assembly, specialized backend systems will go C/Assembly, etc.

There's exceptions to everything and i realize this is a gross generalization, but overall it stands, leaving C++ in a pretty small (but significant nevertheless) niche as opposed to C. You need too much speed to use the more high level solutions, but not enough speed to require C or assembly...

Re:Objects... (2, Insightful)

neonsignal (890658) | about 4 years ago | (#32798806)

I suspect the efficiency gap between C and C++ is smaller than you think. Even if you are very strict about encapsulation of objects, you'd be very unlikely to add more than 10% to the run time. And as others have pointed out, making use of features such as templating can actually help the compiler generate more efficient code.

C++ was designed so that it adds no overheads to imperative code, while the OOP constructs such as member functions have only one extra parameter (and one level of indirection for virtual functions). Often the extra parameter would have been passed in C anyway, as a pointer to some data structure.

There are more prosaic reasons why C has persisted. There is the inertia of a large group of programmers who have grown up on procedural languages, with a significant learning curve to switch from this to object oriented programming (even in the scripting world, one sees the still widespread use of imperative paradigms such as in PHP). There is the widespread availability of good C compilers. There are the improvements in the C language, including some features adopted back from C++. There is the existing body of code. There is the historical lack of support for objects in operating systems and associated libraries, so that link formats are oriented towards C procedure calls rather than C++ objects. But these reasons have nothing to do with raw speed.

Where scalability is less important, I can see why Java (in a web context) or languages based on .NET (in a Windows context) might be seen as alternatives. But I would suggest that this is because they integrate better into their context, rather than because speed doesn't matter.

Re:Objects... (1)

oiron (697563) | about 4 years ago | (#32799254)

C++ can be faster than C... This [stanford.edu] is an old one, which proves the point...

Remember, C++ is not just OO - that's one of the paradigms it supports, but not the only one.

Re:Objects... (5, Insightful)

js_sebastian (946118) | about 4 years ago | (#32798684)

I understand, but for speed I expect that C++ still outperforms Java, and while C should outperform both of them, C doesn't feature encapsulation, polymorphism and all the other goodies that OOP provides.

No, C is exactly as fast as C++. C++ only becomes slower if you use certain features that have a performance impact. Example: if you use exceptions, there is a performance penalty. If you don't, you don't get the performance penalty. That is one of the design principles of C++: nothing can be included into the language that slows down code that does not use/need it. The main slow downs you will see in your average C++ program, over the corresponding C, is the use of the string class as opposed to the nasty but fast strcpy and friends, and the extra indirect function calls due to virtual functions (which causes a branch misprediction and hence a pipeline flush on modern cpus, costing you a bunch of clock cycles). Still, you only pay for virtual if you choose to use it, and manually implemented virtual function calls are used all over the place in good old C, with the same effect. Furthermore, C++ templates allow code re-use with exactly 0 performance loss and while the error messages are ugly, they're still a whole load prettier than doing the same thing the C way with recursive includes and lots of preprocessor madness. And you can link to existing C code/libraries without any problems. Frankly, there is no valid reason for starting a new program in C in this day and age.

Re:Objects... (0)

Anonymous Coward | about 4 years ago | (#32798852)

Example: if you use exceptions, there is a performance penalty.

Kind of: some compilers (LLVM for one, I believe) have "cost-free" exceptions, where the runtime performance cost in non-exceptional circumstances (i.e. the vast majority of the time spent executing the program) is nil, although there will always be an increase in binary size due to exception tables, etc. Recalling that one advantage of using exceptions is to reduce the need to perform checks on the return values of functions/ methods after every call, its easily possible for a language with exceptions to perform faster (again, in non-exceptional circumstances) than the equivalent program that always checks the return value instead.

Re:Objects... (0)

Anonymous Coward | about 4 years ago | (#32798874)

C++ does not work very well on modern microcontrollers compared to C

Re:Objects... (1)

tepples (727027) | about 4 years ago | (#32798912)

C++ only becomes slower if you use certain features that have a performance impact.

And virtually every useful feature of C++ that is not in its common subset with C is one of those.

Example: if you use exceptions, there is a performance penalty.

And if you use operator new, you use exceptions.

The main slow downs you will see in your average C++ program, over the corresponding C, is the use of the string class

That and <iostream> [yosefk.com] . Once, I tried programming in GNU C++ for a system with an ARM7 CPU and 288 KiB of RAM. Even after applying all the link-time space optimizations I could find, Hello World statically linked against GNU libstdc++'s <iostream> still took 180 KiB [pineight.com] . (Dynamic linking wouldn't even have worked because libstdc++.so itself is bigger than RAM.)

Furthermore, C++ templates allow code re-use with exactly 0 performance loss

As I understand it, C++ compilers implement templates by making a copy of the object code for each type for which the template code is instantiated. Once you instantiate a template numerous times, your binary gets bigger, and it slows down because it has to keep loading data from storage instead of caching it in RAM. This hurts especially on handheld platforms such as the Nintendo DS, which has only 4 MiB of RAM.

Frankly, there is no valid reason for starting a new program in C in this day and age.

This is true but only technically, because most of C is also contained in C++.

Re:Objects... (0)

Anonymous Coward | about 4 years ago | (#32799166)

1. Templates, Classes (not virtual), References to name a few
2. You have other problems when your code runs out of memory that often
3. which means c sucks too once you find hardware which does not support all functions of the c standard lib? I'm quite sure there are more than enough of those around - assembly is the only real solution!
4. See Number 3, also as far as I understand it c has no better alternative to templates
5. This is true because non of the features of c++ are contained in c

C++ or C+Template? (1)

tepples (727027) | about 4 years ago | (#32799522)

Classes (not virtual)

Sugar for functions that take this as their first argument. But as Micropolis showed, these are useful for taking legacy code that uses global or module-scope variables and allowing it to be instantiated multiple times. I'll grant you this one.

References

Sugar for pointers.

You have other problems when your code runs out of memory that often

Only if you consider running on a microcontroller or a handheld device a "problem". In such a case, running out of memory means the allocator has to purge items from the cache. Then you run into other classes that use new as their factory, for which new might throw for reasons unrelated to memory: TCP connections, file system access, file format parsers, etc.

which means c sucks too once you find hardware which does not support all functions of the c standard lib?

You're referring to 8-bit microprocessors, I take it. But there's still a lot of interesting hardware that runs C well but doesn't do so well at virtual and <iostream> of C++.

as I understand it c has no better alternative to templates

It appears you're not as much of a fan of C++ as a fan of the subset of C++ including C and templates.

Re:Objects... (1)

Cyberax (705495) | about 4 years ago | (#32799372)

"As I understand it, C++ compilers implement templates by making a copy of the object code for each type for which the template code is instantiated. Once you instantiate a template numerous times, your binary gets bigger, and it slows down because it has to keep loading data from storage instead of caching it in RAM."

Not really. GCC reuses the same code from different instantiations. And of course, if you follow ODR then you'll have at most 1 template instantiation for each combination of type parameters.

Also, libstdc++ is a beast. But so is glibc. If you compile for embedded devices - don't use it. It's certainly possible to make 'Hello world' to be about 1kb in C++.

What Newlib++? (1)

tepples (727027) | about 4 years ago | (#32799688)

if you follow ODR then you'll have at most 1 template instantiation for each combination of type parameters.

The problems come when A. programmers become unaware of how many combinations of type parameters they're actually using, or B. programmers can't decipher template type names in compiler diagnostic messages.

Also, libstdc++ is a beast. But so is glibc. If you compile for embedded devices - don't use it.

Newlib is better than glibc for embedded devices. What C++ standard library implementation do you recommend for these?

It's certainly possible to make 'Hello world' to be about 1kb in C++.

I've done so with std::fputs of <cstdio>, but there are still a lot of self-proclaimed C++ purists who apply the no-true-Scotsman fallacy on C++ code using <cstdio>, claiming that <cstdio> isn't in the spirit of C++.

Re:What Newlib++? (0, Flamebait)

Cyberax (705495) | about 4 years ago | (#32799808)

I've used STLPort (STL is mostly header-only) without _ANY_ C++ stdlib.

If you don't use exceptions (which you probably shouldn't on such small devices) then you'll only need to manually define default global ::new and ::delete operators and a handful of other functions.

As for C++ purists - tell them to go fsck themselves. IOStreams is an exceedingly ugly part of C++ standard library. A small C++ wrapper over the fopen/fclose/... is usually much better.

Re:Objects... (1)

mpsmps (178373) | about 4 years ago | (#32799524)

If you learn about C++ before you try to pass yourself off as an authority, you won't spout easily refutable misconceptions.

C++ only becomes slower if you use certain features that have a performance impact.

And virtually every useful feature of C++ that is not in its common subset with C is one of those.

What is the performance overhead of namespaces, typesafe object creation, references, function and operator overloading, use of const ints for array sizes (more efficient than C), non-virtual methods, STL (the word "virtual" does not appear anywhere in the STL sources), support for wide characters, protected/private modifiers, etc.? While features like templates and metaprogramming have performance tradeoffs, skilled programmers can use them to make programs that are faster than the corresponding C programs [oonumerics.org] .

Example: if you use exceptions, there is a performance penalty.

And if you use operator new, you use exceptions.

Firstly, this whole point is spurious because you can always use nothrow new, which was put in the standard precisely for people who want exception-free code.

Secondly, the (exception-throwing version of) new may well be faster at error handling than malloc. For the very many programs that only catch allocation errors at the top level, setting up the exception handler is just negligible part of startup costs and far faster than checking the return value from each malloc for zero.

Even if you are doing fine-grained error checking around each call to new, it's not clear whether setting up the exception handler is slower than checking for a null-returrn. It is certainly far less error-prone.

The main slow downs you will see in your average C++ program, over the corresponding C, is the use of the string class

That and <iostream> [yosefk.com] . Once, I tried programming in GNU C++ for a system with an ARM7 CPU and 288 KiB of RAM. Even after applying all the link-time space optimizations I could find, Hello World statically linked against GNU libstdc++'s <iostream> still took 180 KiB [pineight.com] . (Dynamic linking wouldn't even have worked because libstdc++.so itself is bigger than RAM.)

Many C++ programmers use printf instead of iostream. You're perfectly free to use whichever you want, depending whether you are more concerned with code size/performance or type-safety/extensibility.

Note that C++0x has features specifically designed to support a typesafe printf [iu.edu] , which will completely own the very type-unsafe C version.

Furthermore, C++ templates allow code re-use with exactly 0 performance loss

As I understand it, C++ compilers implement templates by making a copy of the object code for each type for which the template code is instantiated. Once you instantiate a template numerous times, your binary gets bigger, and it slows down because it has to keep loading data from storage instead of caching it in RAM. This hurts especially on handheld platforms such as the Nintendo DS, which has only 4 MiB of RAM.

I agree that Nintendo DS programmers should limit their use of templates. Not sure why the many programs which are not targeted at the Nintendo DS (Even the DSi has 4 times as much memory) shouldn't be able to generate the far-faster code made possible by template programming (See the "Was it Worth It?" section here [boost.org] ).

Frankly, there is no valid reason for starting a new program in C in this day and age.

This is true but only technically, because most of C is also contained in C++.

I think you'd have to have a paltry imagination and poor grasp of the many powerful techniques possible in C++ not to use any C++-specific features.

Re:Objects... not as easy as they sound (2, Interesting)

Rob Y. (110975) | about 4 years ago | (#32799760)

I would imagine that the biggest performance hit for C++ vs C is just the fact that most objects make extensive use of memory allocations. C++ makes this 'safer' than in C, and so most C++ users use it. In C, I tend to avoid memory allocation. You end up defining arrays sized to some reasonable maximum, but there's no performance penalty for that. Occasionally, this does cause problems when that maximum was underestimated, but most of the time it's pretty effective.

Where I work, we have a transaction processing system that was developed in C. Most of the library code is in C, and multiple attempts to build applications in C++ have resulted in something much more complex and less supportable than the 'standard' C apps. I don't know if this is due to unskilled C++ programmers, or if maybe the particular environment, being highly optimized for C coding, just doesn't gain many of the advantages C++ could provide had the platform been object oriented in the first place.

For example, our standard apps maintain state persistence by simply writing out one or more C structures to a temp file on disk. These files are simply read back in on the next transaction, requiring no code and no serious overhead (the data's usually in cache anyway). It sounds crude, but it's amazingly effective. C++ coders could continue to do this, of course, but they've assumed they needed to use objects for this purpose, leading to complex schemes for streaming those objects out to disk for persistence.

Then you get the programmers that attempt to build a pseudo MVC view around a platform that was designed to be a back-end system with a smart terminal front end. In this platform, all the code is on the back end, and the 'view' and the 'controller' are pretty much intertwined. But they persist and build these arbitrary separations which have to then communicate back and forth and each have to persist their own states. After the fact, they've all agreed that what they've built is harder to support than the C stuff they were building before. .Again, maybe this is bad coding or a misunderstanding of the OOP model, but it does point out a problem with C++. Unless you're just building code around an existing, well defined C++ framework, you're not likely to implement a great object model on the first (or fifth) try.

Re:Objects... (1)

tepples (727027) | about 4 years ago | (#32798778)

Why would you want to break encapsulation?

Because perhaps one is trying to work around poor design of a class where useful functionality has not been exposed to the public:. Using the class as intended would result in an abstraction inversion [wikipedia.org] .

Re:Objects... (2, Interesting)

daid303 (843777) | about 4 years ago | (#32799002)

Why would you want to break encapsulation?

Speed. Lazy. Debugging.

And in C you can have encapsulation, polymorpism and all other goodies OOP provides. C++ just makes it easier. For example many libraries don't export the contents of structures in the exported header files. zlib for example gzopen() returns a "gzFile" which is a typedef void*, and doesn't expose any internals.

Re:Objects... (1)

chocapix (1595613) | about 4 years ago | (#32798488)

There's more to C++ than Object Oriented Programing.

For instance templates are great for generic programing, and they don't carry any runtime speed penalty (they can cost quite a lot at compile time though...). You can even go faster than C in some cases (try std::sort versus libc's qsort on an array of integers, std::sort is more generic and faster because it allows the compiler to easily inline the comparison function). And there's more to C++ than OOP and templates.

I really like C++ and it's great to see it used in more and more big open source projects, like GCC recently and now, well, Compiz.

I predict Linux will be ready for the desktop exactly one year after Linus sees the light and rewrites the kernel in C++. :-)

Re:Objects... (1)

tepples (727027) | about 4 years ago | (#32798952)

templates [...] don't carry any runtime speed penalty

Unless they cause the code to spill out of the instruction cache. Or unless they cause the entire working set to spill out of a handheld device's 4 MB of RAM.

Re:Objects... (1)

chocapix (1595613) | about 4 years ago | (#32799370)

templates [...] don't carry any runtime speed penalty

Unless they cause the code to spill out of the instruction cache. Or unless they cause the entire working set to spill out of a handheld device's 4 MB of RAM.

That's because different instances don't share their (compiled) code, and yes, that's a side-effect of templates. But, if you remove the templates by hand-instantiating them, you'd still have the same issue of code duplication.

My point was that the templates themselves don't cause any slowdown (unlike, say, virtual functions), not that they always lead to the fastest code.

Template misuse (1)

tepples (727027) | about 4 years ago | (#32799640)

if you remove the templates by hand-instantiating them, you'd still have the same issue of code duplication.

The difference is that algorithms and containers in C or Java encourage the use of erasure to a higher type (e.g. void * or java.lang.Object). C++ templates can be used this way, but they can also be instantiated once for each T* (by pointer) or even once for each T (by value). I can think of a few things to watch out for when using templates:

  • Templates make compiler error messages hard for the programmer to read.
  • The ability to instantiate templates multiple times tempts the programmer to make unproductive time/space tradeoffs that might be hard for other programmers to find and fix.
  • Template containers that hold objects by value introduce a risk of slicing [wikipedia.org] when used with STL containers.

So some people aren't big fans of C++ templates because templates are so easy to misuse [yosefk.com] .

Great - Time to hold off upgrading Compiz (1)

christoofar (451967) | about 4 years ago | (#32798360)

The language and dependency changes aside, how much do you want to bet there will be problems in every package distro?

After 2 and a half years of getting Compiz sorted in SuSE, RH, Slackware so you have a 50% or better chance of it working out of the box when you install a distro, not having to dig through massive tweaking to get it operating... I'm expecting a step or two backwards in the "installability" department for a while.

Re:Great - Time to hold off upgrading Compiz (1)

drinkypoo (153816) | about 4 years ago | (#32798568)

After 2 and a half years of getting Compiz sorted in SuSE, RH, Slackware so you have a 50% or better chance of it working out of the box when you install a distro, not having to dig through massive tweaking to get it operating... I'm expecting a step or two backwards in the "installability" department for a while.

Nobody should be putting Compiz 0.9 into a shipping distribution. Hopefully by the time 0.10 comes out they'll have it unfucked again.
Fedora might do it, of course. But I don't see it until some point releases have gone by.

Summary Fail (5, Interesting)

drinkypoo (153816) | about 4 years ago | (#32798392)

The relevant words from the announcement are "complete rewrite". Or in simpler terms for the users, you do not want to run this until it reaches 0.10 (also as per the article.) This is a development and not stable release. (Sure would be nice if they would go 1.0 instead of .10 if it's going to be a stable release...)

Here's the stuff from the announcement interesting to users:

Rendering framework split into the composite and opengl plugins, the former
    making compiz a compositing window manager and the latter performing that
    compositing using OpenGL. Such a split will allow new rendering plugins such
    as XRender and Clutter to be developed as well as for compiz to run as a
    non-compositing window manager

Added support to drag windows to edges and have them fill the adjacent side of
    the screen

* Added support for automatic wallpaper rotation
* Added edge support to grid plugin so windows can easily be resized by dragging
    to an edge or corner

Everything else is of interest only to developers...

Re:Summary Fail (1)

rawler (1005089) | about 4 years ago | (#32799244)

Sure would be nice if they would go 1.0 instead of .10 if it's going to be a stable release...

1.0 = 100%. When they reach 1.0, there can never ever be any more releases. ;)

badass (0)

Anonymous Coward | about 4 years ago | (#32798414)

I had compiz working great in Ubuntu 8, made using Linux fun and is great for adding the "wooo" factor when demoing it for potential switchers, then i installed Ubuntu 10 and it no longer works :(
so i no longer show it to anybody as frankly there isnt much of a visual woo factor over other OSs without it,

and as we know every self-repecting hipster fashionista judges a book by its cover (look at the iphone)
and in order for Linux to be popular with the mainstream it has to do stuff better, that includes making it look "cool" Compiz is a step there.
FOSS has to be able to say "look at how slick this looks AND it can do [task here]"

be proud of your GUI

Re:badass (1)

equex (747231) | about 4 years ago | (#32799498)

I had everything working perfectly in Ubuntu 8.04 LTS as well. I had 2 Radeon HD 2600's in Crossfire config, with two monitors (big desktop mode in Compiz using ATI prop drivers (yes i actually had it working 100%, even 3D desktop cube over 2 monitors!)) and a TV hooked up. Everything worked perfectly and I was for a few months 100% converted to Linux as primary desktop OS .

One day, it just stopped working. And I spent hours and hours trying to restore the system to a state where I could boot into X again. I cannot say for sure what happened, but it was right after I one day had to boot into Windows XP again for some reason that it failed. Maybe it was a kernel update in Linux at exactly the same time, I don't know. I did not update the ATI drivers, that much I know. I suspect that somehow either Linux or Windows messes with the Radeon's firmware so the other cannot use it.

Until this day I haven't been able to restore 100% functionality to Linux's graphics. While using Compiz, all movies will flicker and X doesn't boot unless I unplug the TV. Movies will work properly if I disable Compiz. I've tried a reinstall using Ubuntu 9 but that did not work either. I'm lost. I now use Windows if I suspect i am going to watch something on the TV or monitor that day. Unfortunately, that's very often. So the end result is that I only use Linux if my wife is gone. (Gives me time to be a dev geek!)

I've spent hours and days trying to get Linux to do what Windows has been doing since basically Win98. I don't care anymore. If I need anything more fancy than a command prompt, I'm booting into Windows.


/rant, possibly offtopic!

Speed (1)

Wowsers (1151731) | about 4 years ago | (#32798422)

Would the coding switch gain any speed increase?

Since having the enforced change from the ultra fast, ultra stable Beryl to the not very fast Compiz, I have not been very impressed with Compiz. The developers told me they didn't change anything to get the Beryl fork back into Compiz, but the fact on _MY_ system is simple.

With Beryl I could run whatever effect I wanted and even multiple effects at the same time, and the CPU was barely used, about 98% of the work was offloaded to the graphics card. Now with Compiz if I do something like rotate the cube or some other effect, the CPU ends up doing most of the work, which is ridiculous. Same distro, same graphics card. Obviously something changed.

Actually looking at the process usage right now, Compiz is using 3.9% of the CPU just doing nothing AND with an upgraded CPU. Under Beryl with a same type of processor but slower processor, the maximum CPU usage was 5% doing whatever effect you wanted. This is not right.

Enforcing a change from Beryl to Compiz was wrong.

Re:Speed (1)

christoofar (451967) | about 4 years ago | (#32798466)

You're not going to see any speed gain from *just* switching to C++ from C. A direct translation of code from C to some other language invariably never accomplishes this. The compilation of Compiz will also be slower if it was just a language change, anyway.***

*** Unless the authors also did a major refactor and performance enhancement job while they were sifting through the code, which is what I always strive to do when I have to refactor an entire project from scratch, but in a time crunch or to get new features out quickly... might not be able to do.

I haven't finished RTFA (it's in another tab), but I would have thought if massive performance changes were being made to the code---surely that would be at the forefront of any refactor announcement. Most developers love to parade their performance boosting efforts at release time.

I would not expect Compiz 0.10 (or 1.0) to be much different than previous releases except for already announced feature-change that's being baked into the new code.

Re:Speed (1)

David W. White (1241890) | about 4 years ago | (#32798516)

Wowsers, on the face of things, I would doubt that, since C is by design faster that C++. I guess over time though with a little optimization here and there we might gain speed improvement in Compiz. I used to use Beryl with Knoppix years ago before it became stable. I had to manually configure conf files a couple of time. I changed to Compiz when I switched distros. Compiz used to crash at first but its pretty stable on my system now.

First release of merged branches (4, Informative)

NewToNix (668737) | about 4 years ago | (#32798442)

This is a first release after the reunification of the Compiz, Compiz++, NOMAD and Compiz Fusion branches. It's unstable, but at least it's good to see all the effort coming under the same roof again.

So.. what is it? (4, Insightful)

bakuun (976228) | about 4 years ago | (#32798486)

It'd be nice if the summary contained at least a sentence describing what the software actually does.

Re:So.. what is it? (4, Funny)

christoofar (451967) | about 4 years ago | (#32798518)

It sucks the paint off your house and gives you and your family a permanent orange afro.

Re:So.. what is it? (1)

LizardKing (5245) | about 4 years ago | (#32798918)

... and gives you and your family a permanent orange afro

What, a Valderama [inthestands.co.uk] ?

Re:So.. what is it? (1)

David W. White (1241890) | about 4 years ago | (#32798556)

bacuun - its a window manager with some real cool visual effects like rotating cube, wobbly windows, etc.

Re:So.. what is it? (3, Informative)

L4t3r4lu5 (1216702) | about 4 years ago | (#32798562)

Nothing useful. It's eye candy, like a turbo-charged Aero Glass with 3D effects.

I use the cube desktop switcher and that's it. For some reason I find the idea of a cube easier to map out my mind when I have several windows open than a chain of 4 desktops.

Re:So.. what is it? (3, Insightful)

Jahava (946858) | about 4 years ago | (#32798828)

Nothing useful. It's eye candy, like a turbo-charged Aero Glass with 3D effects. I use the cube desktop switcher and that's it. For some reason I find the idea of a cube easier to map out my mind when I have several windows open than a chain of 4 desktops.

So in other words, you find at least one aspect of it to be very useful. While some window effects are just pure eye-candy (e.g., wobbly windows), many of the added desktop effects provide various degrees of enhanced functionality. This includes:

  • Desktop presentation, be it cube, zooming, or task switching, can be molded and animated to allow the user to better understand and utilize the multiple desktops.
  • Transparency allows information to be literally overlayed, decreasing the intrusiveness of upper-stratum menus and windows.
  • Various effects can tag and categorize different applications or application states (active, inactive, shaded, etc.)
  • The added capabilities allow enhanced usability tools, like magnifiers and mouse location, to be well-integrated and seamless.

Don't dismiss the suite as just eye-candy; if the main perception of Compiz is that it exists only to make things more fun and prettier, then its overall value to the desktop is understated.

Re:So.. what is it? (0)

Anonymous Coward | about 4 years ago | (#32798908)

So you keep your desktop set to the default settings after installation? Not even changing the wallpaper? Because that's nothing useful, just eye candy.

Re:So.. what is it? (1)

L4t3r4lu5 (1216702) | about 4 years ago | (#32799142)

I turn the wallpaper off because as you say, it's just eye candy. I prefer a dark grey background. Easier on the eye (it's a light bulb, not a sheet of paper) and not so harsh a contrast as black.

You mean, nothing for you, right? (2, Interesting)

Seth Kriticos (1227934) | about 4 years ago | (#32798932)

I have to agree that the cube is useless (and I don't use it).

There are a number of plugins that increase productivity a lot though, namely the scale, desktop wall, expo, app switcher and zoom plugin. Problem is: the default configuration is not designed to be useful, but to be easy.

While installing new systems, I install the CompizConfig Settings Manager, and then set up the plugins for efficiency: I basically map common window functionality to screen edge/corner clicks with the mouse.

Base setup is 6 (2x3) desktops. I move between these desktops by clicking one of the edges (depending on which direction I want to go - up/down/left/right) of my screen with the right mouse button.. See the overview (expo) with right click to the top-right edge. Alt-tab/Alt-shift-tab with mouse button clicks to the top left edge (app switcher), and see open window overview with right/left clicks to the bottom-left corner of the screen (scale).

This (combined with select - emulated middle button pasting) effectively enables me to do all activity you'd normally need mouse+keyboard to do with keyboard only.. and that very fast and instinctively.

Guess what you wanted to say is: the default configuration could use some tuning. Problem is: though this improves baseline productivity and is very fun when being used to it, it violates the common desktop paradigm that every desktop function has to be an icon, or context menu. In other words, setting it up in a useful manner involves thinking and learning a bit, which most folks seem to avoid by all means. (no offense).

Re:You mean, nothing for you, right? (1)

Seth Kriticos (1227934) | about 4 years ago | (#32798962)

oops..

I meant to do mouse+keyboard activity with either mouse or keyboard, but not both at the same time.

Re:You mean, nothing for you, right? (1)

L4t3r4lu5 (1216702) | about 4 years ago | (#32799210)

But my point was that the cube isn't useless for me. I can much more easily remember the faces of a cube than slide position. Plus, being able to move from space 1 to 4 instantly by moving left is super-handy.

Re:You mean, nothing for you, right? (2, Interesting)

Seth Kriticos (1227934) | about 4 years ago | (#32799570)

Ah, sorry, wrong wording. Actually, I just wanted to expand your comment. In my experience (and I spent quite some time on it) much of the usefulness of compiz is a matter of configuration.

So I'd rephrase my leading comment to "the desktop cube is useless to me". But that's what I like about being able to adopt compiz to my bidding. People are different, and I can adopt compiz to my preferences while not bothering you. :)

People should be aware of how the work and see how they can adopt the tools to make the process more efficient. And in the content of the comment I tried to show a method, well my method of how I did this.

Context: I'm a horribly lazy person. That's why I spend a lot of time optimizing things. I learned Dvorak SDK and VIM for that reason, and did the same for compiz for exactly the same reason. I admit, the customizations that I did are not really obvious.

Re:So.. what is it? (0)

Anonymous Coward | about 4 years ago | (#32798602)

I often find this with articles. However, in this case, the first link is the wiki page for Compiz [wikipedia.org] , and if you did't already know what Compiz is, you probably won't care what language they use anyway.

The sooner Android replaces KDE, the better (-1, Troll)

Anonymous Coward | about 4 years ago | (#32798616)

Gnome and KDE were imperfect Desktop environments so that F/OSS unix could have one. Now that we are getting a good one at long last (Android). Why stick with the old an obselete?

Re:The sooner Android replaces KDE, the better (1)

meow27 (1526173) | about 4 years ago | (#32799228)

<quote><p>Gnome and KDE were imperfect Desktop environments so that F/OSS unix could have one. Now that we are getting a good one at long last (Android). Why stick with the old an obselete?</p></quote>

What can i do in android that i cant do in gnome?
What can the windows gui do that i cant do in gnome?
What can the mac gui do that i cant do in gnome?

Just because an environment is simplistic doesn't mean it sucks. I prefer gnome over kde because it focuses less on eye-candy and more usability.

I prefer gnome over windows because it doesn't try to compress my programs menu.

Also who are you to say that android is a perfect environment? Why do they constantly come out with new updates?

finally android was made for a touchscreen environment, not a point and click one.

Enlightment again? (-1, Troll)

jjohn (2991) | about 4 years ago | (#32798930)

Why does this feel like another awesome WM that will be crowed about forever, used by few and will shortly stop releasing new versions?

I hate X.

Free-nix needs a new GUI and the only way that's going to happen is through a private company. Why?

BECAUSE GUIs ARE HARD.

They are gigantic systems that require a lot of development AND continuing support. Look how long it took Apple to get Mac OS X right.

X is terrible and anything that continues the zombie life of X is bad.

#getoffmylawnyoukids

Re:Enlightment again? (0)

Anonymous Coward | about 4 years ago | (#32799340)

Oh, great old one, please tolerate my invasion on your lawn.

What the hell is your problem with X?

Re:Enlightment again? (0, Flamebait)

boxwood (1742976) | about 4 years ago | (#32799436)

The default Ubuntu UI (which includes compiz) is better designed than MacOSX.

Have you ever used it? I have tried both MacOS X and Ubuntu, and Ubuntu is far more user friendly than MacOS. They just don't have the hype machine that Apple has.

Re:Enlightment again? (1)

jjohn (2991) | about 4 years ago | (#32799670)

Good lord, I did not expect so many to come the defense of that grand old dame, X.

Rather than get into an argument on the Internet about Computers, I'll just say that
the Linux desktop remains a beloved canard to me. I do not doubt that others will disagree
with me.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...