Oracle To Monetize Java VM
jtotheh writes "According to the Register, Oracle is going to make two tiers of Java Virtual Machine — a free one and a premium paid one. 'Adam Messinger, Oracle vice president of development, told QCon that Oracle plans to offer a "premium" edition of the JDK in addition to the open-source JDK. Both, it seems, will be based on a converged JRockit VM and the Hotspot JVM from Sun Microsystems. The converged JVM will be released under the OpenJDK project. ... Messinger didn't explain how the premium JVM would differ [from] the free version, but the premium edition will likely see performance tuning and tie-ins to Oracle's middleware.'"
the death of java?
he who controls the spice controls the universe
Good, now maybe someone will come up with a better language to use.
not trolling or anything, the only reason java is tolerable at all these days is because finally, most devices, including mobile devices, have become powerful enough to withstand the sheer bloat. 10 years ago, running anything java was painful.
now modern mobile devices are more powerful than those systems from 10 years ago, I think that's the only reason java is usable.
wanna bet the premium version will promote cross-platform compatibility while the free version is restricted to whatever platform oracle chooses? (ie, more than likely windows)
Suicide? Sounds they are working on ending Java in a hurry. :(
leather-dog muksihs
Blog: @muksihs
Either Larry Ellison is smart beyond my imagination, or he's too stupid to understand that he's basically killing MySQL, OpenOffice and Java - arguably the three most valuable software assets he bought with Sun.
If you want performance then you have better options, some of the IEEE standard languages for example and that is what pros like Ebay or Google are using anyway, not Java. Plus you buy yourself some freedom from the corporate control like this.
I'm going to laugh as their Sun acquisition goes down in flames and they end up losing money on the whole deal. They seem to be working to identify any market they can that things are working in and eliminating it. They've done a great job at getting us to work at getting rid of all our Solaris systems as fast as we can.
While in theory this could be fine for Java, I can't imagine it will be being how poorly Oracle has handled things so far. Most likely it'll be a case where the free JVM will be a piece of crap on purpose, and the pay for JVM will be required for anything to work well. Ya, well, that'll fly like not at all. People are not going to go and buy something to make Java apps work better. Perhaps companies who rely heavily on Java on the back end will, but more likely they'll just stop upgrading and switch to something else.
I guess we'll see, maybe I'm wrong and the premium version of the JVM really will provide worthwhile premium features that high end users want, while the normal JVM remains for normal people. However I doubt it. I think they'll try and charge every person for the JVM on their computer, which just won't fly.
Wouldn't that be like racing whales?
Java has become the Digg of languages.
Goodbye Java, we hardly knew thee...
They bundled the spyware Google Toolbar with it (optional, but opted-in by default in the installation options).
It's out of question, that this will kill Java as preferred language in academia and science.
But who cares, really? There are other languages, that would be a more than adequate "replacement" - if I may call it that - for Java.
So professors will have to teach Python in university, how is that something bad?
Java was chosen a few years back, because it was modern and cross platform, but that is Python as well. I also suggested using Lua in academia. For teaching programming and data structures, this is arguably one of the favorable languages.
I'm a Perl developer, so I'll wait and see what happens with Perl6...
EOF
Oracle already has free and pay-for JVM: HotSpot is free, JRockit is not. I expect the free JVM will be just fine for desktops and small servers. I'd expect pay-for JVM to target enterprise solutions. And again, I expect them to ship this JVM for free with their middleware products (Weblogic etc.). But yes, this sucks for JBoss.
That's a nice list of scripting languages you've got there. And don't get me wrong, scripting languages are nice. However, if speed is an issue, Lua's never going to cut it in the same way that Java does.
... But after that it's going to cost you.
"With Oracle it doesn't have to make sense. It just has to make money." -James Gosling.
Don't forget that there are other edition going round as well for a long time,
The Java MobileEdition (that was never free, and caused the fields of use clause in their license) and the Enterprice Edition (license?). They did use different classes, but i think the same vm(correct me if i am false). Makeing a differnce in vm is not a big step.
How can the people at Oracle not see that this sort of maneuver will only _decrease_ Java's popularity?
Why did Oracle buy Sun in the first place, exactly?
File under 'M' for 'Manic ranting'
I think it will be more about supported configurations etc. in that way it will be easier to swallow depending on a jvm in the core of your product. Having things like "the java update broke sth on a certain configuration" not answered by "congratulations, you problem" IS a plus.
I agree with this statement, this is indeed the birth of new opportunity - A new technology to replace Java...
If you want to replace Java you can just use Scala. It can do all that Java can do and is a lot better. Or did you mean to replace the Java-VM, or Java-SE or Java-EE. Then please be more precise in future.
Over the years I've seen lots of companies trying to combine the open source development model with a for profit (and publicly funded) business plan. While this seemed okayish at the time, this whole Oracle debacle is clear proof that the opensource development model combined with some corporate entity controlling it is risky from an opensource perspective. Big opensource projects hopefully have learned from this and go the Debian route : turn yourself in a NGO or something and never worry about shareprice or corporate takeovers again.
It is a real shame that big projects like MySQL and OpenOffice are in this position. Maybe it was more or less opensource, it sure as hell was not independant. Sure forking works, but recreating the entire organisation (and funding) will keep you from developing quite some time.
A language jump is easy: use Scala. What you mean is a platform (Java-SE, Java-EE) jump.
We already got better languages like Scala for the JVM. The Ada for JVM project has been restarted as well. If it just the language you want to replace - that is not a problem.
So what do you want to replace here? Ahh, well as you are an AC you won't answer.
But C# needs CLI and .NET as platform. And those platforms don't have the same OS support as the JAVA-VM has.
Of course most here mix up language (Java) and platform (Java-SE, Java-EE) and don't really know what they want to replace with what.
NOKIA will be assimilated by Microsoft. The process is already underway.
... Ballmer et al are wringing their hands nefariously as they see the future of C#'s marketshare increase by leaps and bounds. And that's good for Microsoft in every way, since every application written in C# instead of Java means a license for Windows is being purchased to run each copy of the software. In web apps, it's a server license; in workstation applications, it's a desktop OS license. Either way, it's a win-win for Microsoft, and a massive loss for Oracle.
.Net versions, there would actually be an open source OS alternative to running modern C# applications.
Not that I mind, per se. I prefer C# in every way to Java... but from Oracle's perspective, I don't see how they see this would do anything but hurt Java and their reputation that's rather ubiquitous.
Now if only Mono would get their asses in gear and not lag so far behind
WTF??
Seriously, WTF are you on about? Have I missed something?
That would be terrible!
At least they are consistent: first they killed OpenSolaris, then they managed to split the OpenOffice community and now they will marginalize Java. I am sure they have something in store for MySQL too...
CU, Martin
Working in a senior role within a global investment bank, we buy a lot of vendor product, especially from what is now Oracle (Oracle Databases products, Weblogic products, etc.) - and if they want to charge us for the 'better' JVM going forward, no doubt we will pay for it. As will the other banks.
And Oracle knows this. It does not give a shit about small-scale Java customers, but the big corporates, like us, well, they know that even if we decided tomorrow that all new projects were to move to C#, or C++, or Objective-C, or whatever, that it would take a long time to change course, and Oracle can still bill for a long time.
One thing to remember - our bank gets and stays profitable because it pushes a lot of IT outside to third-parties (offshore developers are *much* cheaper than in London and NewYork), and they do not see any problems with getting a global price agreement with companies like Oracle and Microsoft.
Personally, I am brushing up my C++, learning Objective-C and C#, as I think the medium and smaller companies in the market will start to migrate away from Java, as the cost savings of cheaper Java developers is lost once you have pay large amounts for the Java install and licensing.
Stallman wrote the Java trap, and we all laughed. Sun is nice we thought, it'll be ok. We were all wrong. Stallman saw further, he saw that even if Sun was ok, if someone bought Sun, then things could get messy. Welcome to messy.
However, if speed is an issue, Lua's never going to cut it in the same way that Java does.
Correction:
http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=all&d=data&calc=calculate&gpp=on&java=on&luajit=on&v8=on&lua=on&tracemonkey=on&box=1
It has for example been revealed that Oracle explicitly asked about Google and patents before the deal and supposedly didn't even want the deal if it wasn't useful.
New things are always on the horizon
The new Nokia CEO is Stephen Elop, the former head of Microsoft Corp.’s business unit.
Source.
Also there have been talk of and/or more integration of their services:
https://www.microsoft.com/Presspass/press/2007/aug07/08-22NokiaMSLiveServicesPR.mspx
https://www.microsoft.com/presspass/press/2009/aug09/08-12pixipr.mspx
http://techcrunch.com/2010/09/15/will-microsoft-and-nokia-team-up-to-take-on-apple-google/
Ah yes, thanks, I did hear about the new CEO.
Guess we'll have to watch this one carefully. Nokia was in need of a shakeup, but with an MS man at the top I fear for the future of Meego on Nokia phones.
Vala ?
New things are always on the horizon
1000's of big companies (telcos, utilities, retailers, gov, defence) use java in their back office, and... well everywhere.
This may cause them to change their policy for new software development, and it may also squeeze the java developer market badly, but for sure there will be strong arguements for splashing £50k here, £90k there, £20k somewhere else, on getting the new JVM to pick up the performance of application x, y, z which are long in the tooth and a pain in the arse.
The alternative is to rebuild, which carries risk - although would be a good move in the long run. In the meetings someone will say "yeah, but we are all dead in the long run" and that's that basically. As a CIO you just pay over £50k, get your users back on side, keep your job for another year, collect your bonus, put another years pension contrib into the pot.
So, Oracle will make money, lots of money, off this. You guys can squeak, MS will cheer, the Python community will see a boost (perhaps), but Larry and co will be richer.
Mysql (in the future) = Oracle feather light (down load it and run it and you are up and going in less than 1hr - oracle normal = 6hrs to setup?) But, if you are an enterprise DBA then you want the management and recovery features that Oracle gives you (as well as the scaling - even though it gets so mind bendingly expensive).
Open office - who cares?
Oracle bought Sun to be IBM mark 2. Expect them to buy Accenture next.
--------------------------------------------- "In the end, we're all just water and old stars."
It is funny how you mention global investment bank and Stallman is right in the same post. :-)
New things are always on the horizon
Yes, because Lua sure doesn't cut it for performance-critical applications like computer games.
http://en.wikipedia.org/wiki/Category:Lua-scripted_video_games
Back in 'the day' JRocket (BEA) was more feature-rich and faster than the Sun JVMs; and had a pricetag. I don't remember anyone complaining about BEA. "Grr. How dare a company introduce a JVM for profit! Corporate bastards!" How is this any different? Why can't Oracle have a superduper JVM they charge money for and have a free one? There's an infinity of software companies that operate with this model. Also why are you angry with Oracle? You should be angry with Sun for mis-managing it's assets and living in business-model-fairytale-land which resulted in their having to sell out. Thanks to Oracle Java didn't 'go down with the ship' and all the Sun employees didn't lose their jobs.
Well, Google did just that and it's called Dalvik. Who cares? Oracle does!
LuaJIT has pretty amazing results.
English is not my first language. Corrections and suggestions are welcome.
I would be so happy if academia stopped using Java. I hate Java but need to use it for every freaking development project for my Masters. arg.
O would that Google had licensed Java Mobile Edition from Sun, given Sun that additional amount of revenue, and thereby allowed them to stave off takeover attempts instead of using tricks to use Java/not-Java without paying for it on Android.
I'm not a lawyer, but I play one on the Internet. Blog
How is this news? It's not like JRockit VM was exactly available for free:
http://www.oracle.com/technetwork/middleware/jrockit/downloads/faq-085599.html#t2
I see this as being more of the same - if everyone's panties didn't get in a bunch every time some entity tries to make a $ off of something then maybe you'd understand that.
So, while I'm no fan of Oracle how about we all just shut up and be happy that the JRockit features are going to be merged with already excellent HotSpot VM.
If Oracle wants to add "special sauce" to the JVM so that thier stack can offer more to thier customers then so be it so long as it doesn't impede the open source JVM.
Let's take JVM as an example: you have defined instruction set (bytecode), well defined ABI (this one is much better than in conventional operating systems) and well defined set of standard services (standard libraries). You also have class loader which somewhat resembles dynamic linker functionality in the conventional OS. Oh, and there is a pretty damn good debugging/profiling/monitoring infrastructure built in. And from application programmer point of view JVM is pretty much like a OS. Programmer can use many languages to target this platform, not just Java. It is possible to implement almost any language on top of JVM (albeit some things have no practical sense, for example C/C++ with its pointer arithmetics).
Would Larry prove its intent to totally screw Java (I'm still not sure of it yet), we'd need to have another platform rather than another language. There are enough cool languages to choose from, but aside from JVM and CLR there are no viable, widely supported multi-language, multi-paradigm platforms. JVM is propably the best one available but as it ages, there are more and more shortcomings visible. Having enough support from companies and developers (and from Larry screwing up Java) one can design and implement a new VM addressing some additional things, like:
- native support for dynamic dispatch (albeit OpenJDK7 seems to support it in some way) - what I mean by that is trying to achieve performance somewhat comparable to statically typed programs (now we mostly compare to C implemented couterparts, eg. JRuby vs. Ruby, Jython vs. cPython etc.);
- support for big memory heaps - most VMs suck at this (except for Azul), so we have to slice server machines and run many instances of JVM on one machine, then cluster/farm these JVM which is both silly and troublesome;
- better support for massive concurrency - again, most JVMs suck at this and Java thread model isn't perfect and isn't suitable for everything;
- support for multiple independent garbage collector zones - some language may utilize this to mitigate concurrency/big memory heap problems (Erlang, anyone?); ability to use different garbage collection algorithms in different zones if it makes sense (ex. big heap as in Java vs. small heaps as in Erlang);
- ability to execute on multiple target devices at once - to utilize GPUs/APUs directly from bytecode (maybe with some limitations), without those crappy hacks we see today; it also applies to memory management that seems to be a horrible hack in current GPGPU solutions;
- better support for long running VM processes, mainly hot code loading (Sun JVM sucks at this but some other solutions like JRockit seem to do a better job), maybe some code versioning, better tools to administer / tinker with running VM process (similiar to what Erlang has);
There is more than 15 years since Java was published. There is about 10 years since Microsoft built its CLR. And there is a lot of new things that appeared (GPUs, huge memories, multicores) and lots of new knowledge we obtained since then (look at all these JS interpreters in modern browsers!). There is also a pretty good base to build on (LLVM, V8, BEAM, PyPy and tons of other projects). On top of such VM we can implement various languages (including Java), maybe even better than JVM.
With enough help from friendly enough companies (RedHat? Google?) we can propably do much better than JVM and leave Larry and his corporate cronies in the dust. As long as there is a good quality reference implementation we don't need to chase Java APIs nor we do need to beg for TCK access.
Interpreted languages, such as Perl, Python, Lua, Ruby and whatever pet scripting language is trendy at this moment, do not nor they should have any place in any academic curriculum. Let me explain.
First of all, a higher education courses which are based on programming languages should be designed to educate the students on fundamental topics such as programming paradigms and design patterns. It is unthinkable for a higher education course to waste both the teacher's and student's time doing vocational training. After all, if you are enrolled in a higher education program then you should be smart enough to handle that stuff by your own. Llet the teachers teach the important technical and scientific concepts which are harder to grasp.
Then there is the reason of applicability. If a course is based on a technology which doesn't have a stable basis and which is likely to drastically change due to a project leader's whims then it is certain that the code written in that particular technology will suffer from bit rot and that your skills which you earned throughout your course will essentially become meaningless. In short, due to a technology's dynamic nature, those who invest their time and effort in a degree or course which is based on that single tool will soon find out that they have wasted their time.
Then there is the issue of control. If a language is not standardized then you don't have any assurance that your code will run at all in the future. This issue is particularly problematic if a language does not provide any specification regarding the implementation or is based on a single reference implementation whose project leadership often invests their time and energy in complete rewrites.
So, knowing this, languages such as Python, Perl, Lua, Ruby or whatever trendy language you just picked up is not nor it ever could be sanely adopted by a higher education degree. Doing so is a recipe for disaster and it does a disservice to all students.
But, but... that's the way it already is!?
Today, Oracle offers a free JVM, which is the one they got from Sun. They also offer the JRockit JVM which has "performance tuning and tie-ins with Oracle's middleware". It's a "premium" JVM, and you have to pay to get it. If anything changes, it's the fact that they want both of them to work off the same codebase, bringing at least some of JRockits premiumness into the commodity JVM.
Move along, nothing to see, except a world full of distrust and hostility.
Except...
once Java didn't cut it in the same way lower-level compiled languages did. But then memory became cheaper and processors faster, and Java started to become fast enough. (I recall my PC having 32Mb Ram when Java first came out)
Today memory is even cheaper (I have 4Gb) and processors are even faster (4 cores!) which means that those scripting languages can cut it where VM-based languages used to be needed. Slashdot runs fine, and its in perl after all. At work, I'm considering performance issues on a 24 core server with 48Gb RAM. (.net issues this time - not really down to .net, but the design of the code more than anything. It could have been written in script and the result would be exactly the same)
So, the problem isn't that scripting languages are crap, too slow, they are - but the hardware has caught up to the point where everything you need to do for the usual LoB app can be written in them without anyone noticing that they are. We have Mercurial SCM written in python, and rich GUIs written in javascript. Unless you have some HPC requirements, script is fast enough.
Or to put it another way, Java is now obsolete.
The engine for those is usually written in C++.
Does Scala allow me to build user interfaces? If not, it really isn't a replacement. What I need is something that allows me to build cross platform guis.
Didn't you really mean marginalize? Not that this wasn't expected.
---- Booth was a patriot ----
In other words, Java will become the new COBOL - large corporations will still invest in it, because it's cheaper than replacing everything. But no startup would touch it because they can see it has no future.
I don't really mind - I still program in C ;-)
We don't have enough information in this announcement about the difference between free and premium in technology, performance or price.
This announcement is much less important to java enterprises than it is to java detractors.
I wonder what would MS do with Sun...
Ironically, this is similar to what people were saying about Java when it was new. Oh, it's cute and good for little whizzy web apps, but it will never cut it on the server.
Well guess what Matilda, as machines get more powerful people program in higher level languages.
You get bashed by patents, that is what happens. Personally I don't see *any* benefits of it being open source the way they play it out now.
will you see any significant move from JVM to .NET. Java users will move to open-source languages instead.
Why move from one proprietary language to another? This discussion has already been heard.
Can't you use Qt to build your GUIs? It's available on Windows, Linux, Mac OS and mobile platforms.
Scala runs on top of Java anyway.
"Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
Last I checked, Sun wasn't going out of business. They didn't go bankrupt and have Oracle buy up all their stuff at a bankruptcy auction. They were doing fine, and Oracle said "Hmm, we'd like to get in to those markets, we are going to buy you."
Remember that any public company that isn't majority owned by someone attached to it is subject to a buyout. If the majority of stock is out there in public hands, another company can simply buy up enough of it to buy the company. Usually it is far more cordial than that, they contact the big shareholders and work out a deal, but it can be done in a hostile fashion too.
So that Sun got bought doesn't mean they weren't doing fine, it just means that someone bigger than them decided they wanted to own their market.
Well. I could whip up some cross platform guis in Scala, but the real question is: Can it web scale? If it doesn't have web scale synergies, then lets be real - it's no better than perl.
You are right, this is about Oracle screwing itself... but that joke is getting old.
Tomorrow is another day...
I've heard it time and time again when some piece of software owned by a large company is open source or at least given away for free as a tool to sell other stuff or addons.
Inevitably, some business leader will see that the company 'moves', let's say, 10 million installations of product at 0 dollars. They will inevitably pull some number out of their ass as to how much they think that software is worth (say 100 dollars per install, though invariably they'll come up with a far more convoluted per-client,per-instance, per-core scheme). Then, they'll say 'if we had only charged 100 dollars like it is truly with, we would have made a billion dollars!'. They'll fight, debate, capture the imagination of someone actually empowered to make the call and poof, start trying to charge 100 bucks a pop for a formerly free product.
Suddenly, the rate of new installs drops to a trickle at best, leaving everyone wondering 'what happened?' when the answer should be obvious to anyone with a cursory understanding of basic economics.
Of course, it may be that Oracle fully realizes this is a long shot, but they somehow think that without this panning out, they see no point in Java really surviving anyway. As a technical observer, that seems like a horrible mistake on the level of cutting their legs off with respect to their commercial Java software, but who knows.
XML is like violence. If it doesn't solve the problem, use more.
Stallman was talking out of his ass but playing the probabilities. He didn't see a Sun trap, he calculated the probability of a Sun trap was significant. Unless you want to think of Stallman as Nostradamus...come to think of it, there is a slight hairy resemblance.
Yeah, I could if I wanted to code in C++ (rather eat a broom) and do my own memory management...although I think Qt has some support in this area.
I guess I'll have to bite the bullet and jump back to C++...yeeeaccchhhhh!
Dont worry, with an MS guy at the top, Nokia has no future anyway. They had already lost the plot, with a whole bunch of phones, none targeted. The lack of a N900 successor, and third party Meego devices means Meego is already a dead duck. Buy an HTC Desire, install LeeDroid on it, and love it Sure you have to root it, but you are a nerd, and rooting is just a step to keep the plebs down.
Sent from my ASR33 using ASCII
But with Unladen Swallow, Python just might...
And for any really serious performance considerations, jump to a real language that you can actually optimize in (C, C++, etc).
Synergies? You aren't a real programmer, are you? Just kidding, sounded like you swallowed a marketdroid sometime in your past.
I wasn't interested in web scaling a gui, but I'll admit that is an important consideration for some. Isn't that segment of the market getting taken over by Javascript, html5, and all the other weboria crap? I just wanted a good cross-platform gui language that gives native looking app and maybe requires a few tweaks here and there to make it work like native app...like what I had to do for Java.
When I used Java, I used the AWT. Swing was too new and seemed to suffer speed problems. Sun never got small machines. So, their graphics objects got allocated for every damn object on the screen in the paint call chain when all that was needed for most was merely the correct bounding box. Once I circumvented that, it sped up quite nicely.
JRuby can do that (just by calling Swing directly), so I imagine Scala can, to.
The problem here is the JVM, not Java the language.
Don't thank God, thank a doctor!
Nah, if the slow (Glacial anyone?) migration of IE6 corporate apps is any indication, this will work great £€$¥ wise for Oracle.
A free Java VM, no mater if it is performance or feature crippled means that anyone with a quick and dirty need, and the java skills (prevalent nowadays) can solve it with a quick java fix, instead of, say, learn another language, or risk it with a comunity derived JVM (You know, and I know and mabe our hypotetical programer know that the comunity derived JVM is technically top notch, but most likely his PHB and the C?O people do not).
When the application gets ingrained in the internal business process, and you need something (performance or feature wise) found only in the paid for VM, the corporate sweet daddy will be strong pressed to pay for it, rather than write the app from scratch in a more open language.
The only way this would backfire is if one big player like IBM, HP, or SAP adopts one of the comunity derived forks and starts offering paid support (and the associated credibility) for it...
Sad but true.
Of course, this only applies to corporate internal use sw. The shrink wraped SW ((F)OSS or not), and the movile/mobile sw have different dynamics...
*** Suerte a todos y Feliz dia!
That's a nice list of scripting languages you've got there. And don't get me wrong, scripting languages are nice. However, if speed is an issue, Lua's never going to cut it in the same way that Java does.
Actually, there is no intrinsic property of scripting languages that make them slower than Java. Obviously it mostly depends on the implementation of the virtual machine:
http://shootout.alioth.debian.org/u64/which-programming-languages-are-fastest.php
For example, take a look at this list. LuaJIT actually seems to be quite competitive with the fastest of the languages. So, no, I can't agree with you. If speed is an issue, your choices may be limited to those languages which have just-in-time compilation for your processor type, but it certainly doesn't mean that Lua et al. can never match the likes of Java.
This author takes full ownership and responsibility for the unpopular opinions outlined above.
Yes, Scala has full access to Java APIs including Swing.
As the island of our knowledge grows, so does the shore of our ignorance.
Why would I want to "keep the plebs down"? I want them to become more educated, more self-sufficient, and more nerdy, so I have to do less family tech support.
Don't thank God, thank a doctor!
I haven't actually done any Qt programming myself, but the demos I've seen were nice.
It looks like it has bindings for other languages than C++ :
http://en.wikipedia.org/wiki/Qt_(framework)#Bindings
"Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
That's a nice list of scripting languages you've got there. And don't get me wrong, scripting languages are nice. However, if speed is an issue, Lua's never going to cut it in the same way that Java does.
Have you seen LuaJIT really? It's not exactly slow. (Also, what the hell is a 'scripting' language?)
It looks like it has bindings for other languages that C++:
If he needs that much hand holding I think it's a lost cause bro.
On the Oregon Cost born and raised, On the beach is where I spent most of my days
> Interpreted languages, such as Perl, Python, Lua, Ruby
I'm not sure about the others, but Perl isn't an interpreted language. The script is compiled, and then the compiled code is executed. That's not a million miles from a JIT compiler.
> is trendy at this moment
Maybe I missed somethng, but wasn't Perl running half the Internet before Java was a twinkle in Gosling's eye? There are many things to be said about Perl, but "new-fangled" isn't one of them.
> It is unthinkable for a higher education course to waste both the teacher's and student's time doing vocational training
Right, but why is that an argument for Java? You can teach Java as a way to tick CV boxes, and you can teach other languages as a way to really understand programming.
> If a course is based on a technology which doesn't have a stable basis and which is likely to drastically change due to a project leader's whims.
You're saying that the Perl community rushed into Perl6? Or maybe that a decade-long upgrade cycle for C++ standards is too rapid? And that the future JVM roadmap as of today is very clear to you?
> Then there is the issue of control. If a language is not standardized then you don't have any assurance that your code will run at all in the future.
Not sure why this is an issue for education but, in any case, backwards compatibility in Perl is legendarily good. There are plenty of production sites running Perl code that is decades old.
I can see an argument for teaching CS using C or assembler (because they force you to understand what a computer does under the hood). I can see an argument for teaching CS using functional languages such as Haskell. I can see an argument for using Perl because it's possible to demonstrate a much wider range of programming styles than with Java. ("Whatever the question, the solution is an object" doesn't seem to me to be ideal in an educational context.)
But I can't see offhand why Java is different in kind to any of the other languages in your list as far as suitability for education goes. It's not a very pure implementation of OO programming, it doesn't teach you anything about memory management. If you are not careful, you give students the impression that it's impossible to write code without an IDE. Java has its merits, its fans and its detractors. But it's not self-evidently The One Right Language to use to teach CS.
Virtually serving coffee
Scala runs on top of the JVM and support both Java-SE and Java-EE and even Android development. I don't suggest the later but for the former two it is pretty good.
So yes: You can write apps for the AWT, Swing and SWT GUI with Scala.
Scala is fully Java-EE compatible including Servelets. Does that answer your question?
Indeed.
No, I don't need any hand holding, I've probably started building apps (guis, realtime embedded, network drivers, educational logic proggies, etc) since before you were born. I was just lamenting that C++ programming isn't an uplifting experience, especially when it comes to guis. But then you probably see nothing wrong with writing network drivers with it.
Yes, but then I still must have a JVM around. The point was that if Snoracle is going to fuck up Java, then I cannot rely on it and must look elsewhere.
It's a fucking compiler. The object code looks like it could have come out of javac [ideally]. You can work with the same classes and run compiled scala/java/groovy/closure/etc. code through the same EE bullshit.
What's a "web scale synergy" anyway? How many do you need? I would think Perl had at least one puny web scale synergy to show for itself.
Come on. The article is about the monetization of the Java VM. If your critical reading sucks that much I'll make it easy, he means replace the Java VM. That means Scala is not a solution. Please use your fucking brain in future.
-- I ignore anonymous replies to my comments and postings.
Parent poster has seen Qt, but has not used Qt. Possibly hasn't used Boost either. But he's going to flap his ignorant gums anyway.
My fellow geeks, ignore him.
Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
Yes, and then JVM technology improved to the extent that Java performance is within an order of magnitude of C++ for most common server tasks.
Java was faster than Perl/Python/Ruby to begin with, and now it is vastly faster. Meanwhile every new popular scripting language actually seems to be slower than the last. And time and time again a startup tries to use something like Ruby or PHP on their servers, runs into massive problems, and ends up either sinking vast sums of money into trying to compile PHP to native code, like Facebook does, or completely rewrites their website in a JVM-based language, like Twitter did.
No, it is more that the higher-level languages are getting more efficient. C++ became popular when C++ compilers got good at optimizing C++. Java became popular when the JVM got good at JITting Java. Hobbyists and academics have always used high-level interpreted languages -- Python today occupies much the same niche as BASIC did in the 1980s. It's got less to do with hardware than you think.
The hardware argument made sense briefly in the 1990s, when machines suddenly got powerful enough for it to be briefly possible to consider writing everything in an interpreted language. But now it's the 2010s, and we are increasingly moving to less powerful mobile devices with limited battery life, and looking for ways to shrink our servers to reduce the financial and environmental cost of supplying all those machines with power and cooling.
Welcome to the modern world, where suddenly efficiency matters again. If your favourite language is stuck in the 1990s, maybe you'd better start learning something else.
with the ad-hominem "this is going to kill java" stuff.
Oracle has said openly that there will always be a free JDK available from them. We also have IcedTea which is not going to go away.
Oracle is going to sell and support an enterprise version to their enterprise customers, with enterprise features. Stuff that you probably don't use on your desktop or even your small server. Stuff like infiniband support and enterprise message queueing. If you need this kind of stuff, you are either already an Oracle customer or a potential Oracle customer. Otherwise you will be perfectly happy with the free JDK and nothing is going to change in that department.
So cut it out with the cringing and moaning, it's pointless.
You do realize that Google uses Java extensively ?
Indeed.
And it raises the question about whether Google is going to safeguard its own software investments and create a Java development team for open source Java large enough to provide the core development expertise and resources formerly provided by Sun.
Self interest suggests that they should be taking the lead role in Java development simple t support their own business.
Starships were meant to fly, Hands up and touch the sky - Nicky Minaj
Wait, are you seriously asserting that language tuning is the sole reason that computers are faster these days? It has nothing to do with the vast speed increases in the CPUs and buses? If you take a modern Java and stick it on an original 1995 era Pentium, I think somehow it will be even slower than Java 1.0 was, as the horsepower needed to do JIT is pretty significant when you look at the actual computing power of an old ass computer.
Look at gigantic web operations like Facebook. They are running what you denigrate as "scripting languages" as one of the main components of an absolutely enormous operation. They are throwing money at the problem and speed is increasing.
Also, I believe that Java is a lot older than Ruby and Python. Both of which have gotten much, much faster in the past few years as companies are throwing money at tuning them.
There is nothing special about Java's speed increases, and the same increases can be had in damn near any language if attention is given where it is needed.
There's nothing special about Java. And Java is indeed the shining pinnacle of a language that's stuck in the 1990s.
Indeed. Mind you Scala also runs on CLI. Kind of, support was not maintained between 1.4 and 2.8 and has just been restarted. But CLI based OS in depended GUIs are typical FOSS: 3 in-depended half backed solutions.
PS: I am a OSS (not necessarily FOSS as I sell GPL software for Symbian and Andoid) supporter but I know the weaknesses.
Yes, indeed the article got it right. To bad the GP did not.
Yes, Scala is not a replacement. That was my point. To bad you did not notice without taqs.
I dare you to look that up on Monster/Dice :-)
-fb Everything not expressly forbidden is now mandatory.
http://www.microsoft.com/interop/cp/default.mspx
Shame really that someone couldn't even do the research to see if such wild claims about MS are in any way true.
And now explain that to the pointy haired boss.
That's interesting, the spread for Lua JIT was greater than Java, but Lua had a slightly faster median than Java.
C++, contrary to what all the Java buffs say around here, was significantly faster than either of them. C++ median score was twice as fast as Java's.
Just goes to show you, if you want speed stick with native code.
It's too bad none of the .Net stuff is in there, they have C# mono, and it did relatively poorly, but mono could be significantly slower than .Net.
Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
>Local programmers in both London and New York gotta eat too you know...
From the point of view of London or New York, if you can't afford to live there you can go to Dartmoor or Indiana.
There are people who see enough value in living in New York for a while that they will go there *at a loss*.
There are enough of these people that the labor and real estate markets are really competitive. It's tough to have to compete with people who already have enough money that they can burn it while working at a subsistence wage, but what can you do?
There are certain places I would like to relocate to (not NYC), but I can see that I have to compete against people who will take a lot less compensation that I could, just for the privilege of living in those places. And among those who do need to make a living, many have equity in the market there, and only need to cover incremental costs, where for me it would mean going into debt.
-fb Everything not expressly forbidden is now mandatory.
ASIDE: Yes, you think it was clever calling it "see-sharp", but these are the same people who named their mobile operating system "wince", they are not that smart when it comes to basic language... 8-)
We'll need to rename GIMP before we can point and laugh.
Personally, I am brushing up my C++, learning Objective-C and C#, as I think the medium and smaller companies in the market will start to migrate away from Java, as the cost savings of cheaper Java developers is lost once you have pay large amounts for the Java install and licensing.
So because Oracle announced an alternative, high-performance version of the JVM that you have to pay for, you're going to regress to C++, or lock yourself in to Apple or Microsoft? Brilliant.
One thing to remember - our bank gets and stays profitable because it pushes a lot of IT outside to third-parties (offshore developers are *much* cheaper than in London and NewYork)
Are your customers off-shore as well?
Or is cashing in unemployment benefit cheques all that profitable?
In other words, Java will become the new COBOL
Funny. For some years I am lamenting that Java-programmers are the next COBOL-programmers: Inflexible and so set in there way that they are unable to learn a 2nd programming language.
To those of you that a). don't understand the Java and JVM options, b). claim to understand the Java market place and/or c). think the sky is somehow falling, please consider the following facts, all verifiable.
1. Oracle/BEA has for a long time offered a "premium" (paid for) JVM. It's called JRockit (with deterministic garbage collection).
2. Sun also offerred a "premium" (paid for) JVM, mainly for high-end support, but seem to have little penetration (probably evidenced by the fact that Sun no longer exists)
3. Oracle/BEA/Sun also offered "free" versions of their JVM. Oracle/BEA called it JRockit (without deterministic GC) and Sun called it Hotspot (that everyone uses and is now based on the OpenJDK since Sun open sourced it). You can still download these!
4. Oracle has simply confirmed the existing strategy - that's been an option for years. ie: You can still purchase a "premium" JVM that contains a bunch of stuff for seriously "high-end" customers (this will now combine JRockit and Hotspot high-end features - no point having two teams competing internally on the same ideas. Pretty standard stuff for Oracle when you consider the strategy they implemented with WLS from BEA). For everyone else, that use the OpenJDK, everything stays the same. That is, you're not forced to purchase a JVM.
Obviously it's much easier to jump to conclusions and pretend the sky is falling. Take some time to do some research before hitting the panic button. Might reduce your blood pressure.
No, forget for a moment that Java is faster than said scripting languages. Do these languages offer something more compelling than Java is the real question for me. If performance was the end all issue then fine, don't use a purely scripting language. But what I really want to ask is if Perl, python, Lua, etc.. offer anything to the developer that the Java language doesn't support? At least the logical jump from C/C++ to java was evident. It was basically the same language make-up without the worry of managing pointers directly, and having a large surface of standard language features built-in.
Bye!
Scala is multiparadigm and even when you ignore/don't use the functional part Scala is still a better language then Java.
Apart from that: What I really wanted to push is awareness of the differentiation between Java and JVM or Java-SE / Java-EE.
The original article got it right: this is an issue about then JVM and not Java.
Well, as a manager, that's his job - to maximise the wealth of the company shareholders. If Java isn't making money (directly or indirectly), then he needs to institute change so that it *does* make money one way or another. Otherwise he wouldn't be doing his job (and then he'd be fired and replaced by the board of directors).
THE MAN AND THE GOLDEN EGGS
In other news, experts suggest that eliminating health benefits and blocking single-payer healthcare may lead to decreased worker productivity, that low taxation rates may lead to infrastructure decay, and that destroying the biosphere may have a negative impact on the long-term profitability of energy companies.
The best way to avoid hitting yourself in the head with a hammer is by not picking up the hammer in the first place.
Right. It is much better to ram in the nails with your forehead instead.
Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
(*) In order it to be a "sharp" the symbol in use must be (1) in italics, and (2) in a musical clef. In Microsoft's language definition it is neither, that makes those two vertical and two horizontal lines a "pound" no matter how much they want you to call it a "sharp".
a) The pound symbol is that cursive L shaped glyph with the verital cross through it.
b) Only in the US is # called the 'pound sign'. Canada calls it the 'number sign', most of the rest of the english speaking world calls it the hash.
c) Technically you are correct that # isn't an actual sharp sign, but you are incorrect on both counts as to why. A sharp does not need to be on a "musical clef". And it has nothing to do with italics. The sharp must have true vertical bars, and slanted horizontal bars. A number sign must have true horizontal bars, with optionally slanted vertical bars.
d) The language C# is called C-sharp. Wandering around calling it c-pound and actually arguing that this is somehow correct is just pointless. Why "c-pound" and not "c-hash" or even "c-octothorpe"?
C-sharp is the clearly stated intention of the people who named it, and at the end of the day language rules are descriptive not prescriptive. The symbols use to write things do not dictate how we pronounce them. Written language is simply an approximation using a mix of tradition, convention, and convenience.
The programming language was named "c-sharp". It was then rendered conveniently as C#. Suck it up.
building apps
Shut up, poser!
Contrary to the popular belief, there indeed is no God.
Reading even the second part of the first sentence of that, which I shall quote, since you are obviously too lazy to do so,
to the extent it conforms to one of the Covered Specifications, and is compliant with all of the required parts of the mandatory provisions of that specification ("Covered Implementation"), subject to the following.....
Nothing is "compliant with all of the required parts" of any standard. This is before we get onto all the exclusions. This document reads like it comes from a company that has been so used to getting away with evil that it has forgotten even how to lie properly. Trying to quote it to show Microsoft is okay is like trying to say that Ghengis Khan "traveled to many places" to show that he was a culturally tolerant kind of guy.
=~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();
I disagree. I code in Lua extensively and never found it behind Python or Perl in terms of speed. I'd even say it's actually faster.
Never did any serious benchmarks, but doing a procedurally generated world using Lua code, with a list of materials and complex items to populate dungeons, it's really really fast with Lua. Same with AI code and "actor states", control handling and projectile control. I have this program that runs 64 AIs, every one in it's own sandbox, one Lua state at a time (reportedly the "sub-optimal" way to handle Lua) and I get little to no latency every frame. Whereas python chokes under similar code (not bashing python at all, I love it and works much better for desktop apps). Oh my computer is terrible by the way, no modern game runs on it, but my own stuff filled with sub-optimal Lua runs pretty well.
Maybe by "offshore" he means off Manhattan to Brooklyn.
Go green: turn off your refrigerator.
Oh I dunno, but think for a moment why half the web servers in the world run apps written in a scripting language. Answer that question, you answer your own - there must be something in it, or they'd all be running Java/C#/ASP. Wouldn't they?
Yes, Scala has full access to Java APIs including Swing.
And if you wanted to remove one of the javax dependencies, you could use SWT instead of Swing.
Homonyms are fun!
You're driving your car, but they're riding their bikes there.
(Also, what the hell is a 'scripting' language?)
Old-school vernacular expression for "interpreted" languages.
So, Microsoft, who tried to kill c++ with MFC in favor of Visual Basic will acquire Qt, the best c++ library? what an irony.
I wonder if most Java development will stay on JDK1.6 and not move anywhere. That's sort of the problem Microsoft has with Windows XP.
You're arguing with this guy ;)
Live today, because you never know what tomorrow brings
Oh, I have no doubt that Lua runs much faster than Python or Perl. That wasn't the comparison I was drawing. Lua runs much slower than C, C++, Java... compiled system languages are going to be much faster than scripting languages in almost every case.
Here's a nice blog entry visually benchmarking various programming languages that was posted on Slashdot maybe a year ago. It might be a bit dated; doubtless we've seen more improvements in the past year to relatively new programming languages, compared to those which have been around for decades. Still, it is pretty immediately apparent that with scripting languages, you're often trading performance for much less verbose code.
Man, revisiting that article makes me want to pick up Haskell. Everything I've seen makes it out to be a wonder-language.
Ellison is out of his fu*king mind if he thinks the community wont build a better JVM. Obviously, Ellison is in control of his faculties, he's quite shrewd and I suspect, he intends to use the idea patents acquired with SUNW to sue anyone that makes the Open JVM competitive with their premium offering.
The new Nokia CEO is Stephen Elop, the former head of Microsoft Corp.’s business unit.
If you're going to look at past work experience of all senior officers in all major corporations from that perspective, the only conclusion would be that everyone tries to assimilate everyone.
I mean, you don't think that MS execs are secretly grown in vats, in adult form, in an unnumbered building on 1 Microsoft Way, Redmond, WA - right?
the real question is: Can it web scale?
probably.
Stallman wrote the Java trap, and we all laughed. Sun is nice we thought, it'll be ok. We were all wrong. Stallman saw further, he saw that even if Sun was ok, if someone bought Sun, then things could get messy. Welcome to messy.
Actually, most of the platform has been open-sourced by Sun before the takeover under the 'OpenJDK' name.
Indeed, GNU now carries a 'headnote' to the article explaining the new situation: http://www.gnu.org/philosophy/java-trap.html
The situation is still messy - but not for the original reasons laid out in that article. If worst came to worst, the JVM can be forked - but forking a widely-used platform is a whole other can of worms, of course.
I'm pretty sure the reason it's called C-sharp is in reference to the sharp symbol used in music.
First of all, a higher education courses which are based on programming languages should be designed to educate the students on fundamental topics such as programming paradigms and design patterns. It is unthinkable for a higher education course to waste both the teacher's and student's time doing vocational training. After all, if you are enrolled in a higher education program then you should be smart enough to handle that stuff by your own. Llet the teachers teach the important technical and scientific concepts which are harder to grasp.
What? First, you say the focus of a programming course should be on the abstract side of programming. Sure, sounds good. But then you say:
Then there is the reason of applicability. If a course is based on a technology which doesn't have a stable basis and which is likely to drastically change due to a project leader's whims then it is certain that the code written in that particular technology will suffer from bit rot and that your skills which you earned throughout your course will essentially become meaningless. In short, due to a technology's dynamic nature, those who invest their time and effort in a degree or course which is based on that single tool will soon find out that they have wasted their time.
Then there is the issue of control. If a language is not standardized then you don't have any assurance that your code will run at all in the future. This issue is particularly problematic if a language does not provide any specification regarding the implementation or is based on a single reference implementation whose project leadership often invests their time and energy in complete rewrites.
So, knowing this, languages such as Python, Perl, Lua, Ruby or whatever trendy language you just picked up is not nor it ever could be sanely adopted by a higher education degree. Doing so is a recipe for disaster and it does a disservice to all students.
So a course that doesn't give you vocational skills will have been a waste of time?
(*) In order it to be a "sharp" the symbol in use must be (1) in italics, and (2) in a musical clef. In Microsoft's language definition it is neither, that makes those two vertical and two horizontal lines a "pound" no matter how much they want you to call it a "sharp".
And OSX should be O.S.X., iPhone should be Eye-Phone, Windows XP should be Windows X.P., etc... It's an approximation, the vast majority have no problem dealing with it, im sure if you apply yourself you can eventually get your head around it too.
I really thought that I can't believe you guys didn't see the tongue in cheek here. I thought I made it plainly clear that I was mocking a lamer
Another IMO worse example is MySQL AB themselves, before they got bought by Sun. They were going to do a support model, but the big problem is that the distributions already is taking all the support money. So they tried to make money by providing support on Windows. Obviously this was flawed, so eventually they tried to make some new features proprietary (in a different way than what Oracle is doing with Java), resulting in a backlash. MySQL was almost going to IPO with such a bad business model when they got bought by Sun.
Actually Parrot(and Dalvik for that matter) are much better VMs than the JVM in theory because unlike the JVM, which is stack based, they are register-based which means its MUCH easier to implement the VM, or at least parts of it, in hardware. The JVMs stack based VM was a neat idea, but it makes hardware acceleration of the JVM much more difficult, though certainly not impossible(people have implemented Java-on-a-chip for instance). With the popularity of embedded devices recently, a VM appropriate for them as well as the desktop makes a lot of sense, but thus far there hasn't been a lot of interest in running Dalvik on the desktop.
Monstar L
I'm pretty sure the reason it's called C-sharp is in reference
Of course the name C-sharp, and the "C#" spelling is -intended- to invoke the musical C-sharp.
The reason for the symbol choice itself is simple.
You start with C.
The subsequent iteration is C++ (using the C increment operator).
So the next iteration is C++ ++
Then cleverly rearage the two ++ on top each other:
++
++
and stick all them together...
#
and call it C-sharp because both C-pound or C-octothorpe sound stupid, while c-sharp is clever.
Now all Java devs will be able to afford a yacht like Larry's after customers fork out for the non-crippleware version of the jvm.
PS: I am a OSS (not necessarily FOSS as I sell GPL software for Symbian and Andoid) supporter but I know the weaknesses.
There's a common misconception that Free Software (capital "F") equates with "you can't make money on it" or "you can't sell it." Nothing is further from the case.
There's nothing wrong with selling Free Software. In fact, the Free Software Foundation points out in their GPL FAQ that "The right to sell copies is part of the definition of free software. Except in one special situation, there is no limit on what price you can charge. (The one exception is the required written offer to provide source code that must accompany binary-only release.)"
So feel free to develop GPLed software and sell it. It's all good.
coding is life
because both C-pound or C-octothorpe sound stupid, while c-sharp is clever
What, the name Coctothorpe doesn't sound awesome to you?
I think it's almost as strong a name as Octopussy...
...now wait a second. What if we named it Octothorpussy? We could shorten that to #Pussy or just #P, and then just colloquially call it "Sharpie".
coding is life
I already sell under the GPL. About one in 100 customers actually request the source-code and I am more then happy to send them the additional download link. Since my customers use GSM networks for download binary-only-releases are in there best interest.
I just thought that the FOSS being Free and OpenSource might be stricter then the GPL itself. Thanks for the clarification.
"troll". slashdot for "i disagree but am too inept to formulate a coherent response".
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
Your astroturfing for Scala all over the comments for this article is absolutely fucking annoying.
-- I ignore anonymous replies to my comments and postings.
[Citation needed]
Change is certain; progress is not obligatory.
As long as I can remember, it's always been like that with JRockit and HotSpot. How is it dead now?
Change is certain; progress is not obligatory.
That's easy, live editing of programs without compilation. Interesting to note, many large scale systems are using asp, jsp etc. and even scripting languages that end up in large scale systems, end up with special "cached" pre-compiled code on systems that deal with scaling up.
In reality, from the way I understand it, it's just from ease of use to program live/edit rather than the actual language it self. But I don't think this answers at all what the grand parent wanted to know, so... I don't really get your point either.
Change is certain; progress is not obligatory.
You made my day, sir. If only I had some mods! Instead, I guess I'll have to name my firstborn "Coctothorpe".
I start the day with coffee and I end it with a beer. In between I wonder what the hell I'm doin' here.
Very true. Of course I was well aware that just changing the Language Java is no the solution. I guess some sarcasm tags are missing from my postings.
Oh, my bad! Yes of course Lua is slower than C, that's undeniable.
I just develop games, to be honest, didn't really find interest on "the desktop". C/C++ + Lua is a really speedy combo allowing for great realtime stuff.
I heard a lot of Haskell evangelism too...dunno if it's fanboyism or fact, though.
If you want to know what's being discussed, just read the summary. It's the JVM. And Scala uses the very same JVM. So not much of a replacement.
Seriously, Patent issues abound. How is mentioning them a troll?
Or do you object to the name C-pound?
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
The _English_ pound, as in pounds-sterling, as in money, is the cursive ell with a bar.
The pound, as in weight, as in 16 ounces, is a cross-hatch.
That makes "#" a pound.
It could also be number sign.
Technically it's an octothorp used to designate numbers or weights.
The language is c-pound. Or c-octothorp, or c-numbersign.
I can explicitly say that I wrote down the Letter "C" followed by a cursive ell with a line through it with the express purpose of naming a language
"see fog" but the symbol would persist in being an english pound sterling.
The problem is that nowhere is "#" a "sharp" except in musical notation.
It's see-pound... 8-)
(yes, this is flamebait... but the language is burning rubbish full of patent bombs. Sometimes it _takes_ flamebait to make people see the fire ready to burn them to death. 8-)
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
I am, and was, fully aware of the usage and intent that "C-#" was supposed to be "see sharp" as in music.
If you examine a sharp sign, it is two horizontal lines and two vertical lines, the _second_ vertical line is _higher_ than the first, in indication that the tone is supposed to be higher than the actual note by a half-tone. The "sharp" indication, which really only exists in the musical clef, is _distinct_ from this symbol "#".
In the octothorp, there are two horizontal lines, and two vertical lines. The vertical lines are the same height and drawn from the same baseline. They are usually slanted such that there are no right angles.
In no case have you ever seen "C#" written as "see sharp". That leaves "see number-sign, see-octothorpe" or "see-pound".
There is a unicode symbol for "sharp", it is \u266f, as opposed to 0x23, the "pound sign".
Seriously, there is a _huge_ difference in symbolism.
It's not _my_ fault that the same people who named a mobile platform "wince", named a language "see pound" while failing to be clever.
http://www.fileformat.info/info/unicode/char/23/index.htm
http://www.fileformat.info/info/unicode/char/266f/index.htm
Intentions only take you so far when you make an epic screw-up. They named it something, but it wasn't "see sharp". 8-)
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
If you think I am wrong about "C#" being read "see pound" please check the unicode symbol definitions:
A pound/octothorp/number sign has horizontal lines a two (usually slanting) vertical lines drawn from the same baseline:
http://www.fileformat.info/info/unicode/char/23/index.htm
vs.
A musical sharp sign has two vertical lines, the second drawn higher from the baseline than the first, the "horizontal" lines incline. All of this is intended to indicate the half-tone rise of the notes so designated.
http://www.fileformat.info/info/unicode/char/266f/index.htm
You will node the "Index Entries" in both.
The name is "see pound"... sorry, just a fact.
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
Pay close attention to the symbol names in the index entries part of the table.
The musical sharp sign:
http://www.fileformat.info/info/unicode/char/266f/index.htm
The "horizontal" lines rise to the right to indicate the rise of tone. The second vertical line is drawn to a higher baseline, also to indicate the rising tone.
Now...
The pound sign, aka the octothorpe or number sign:
http://www.fileformat.info/info/unicode/char/23/index.htm
The two "vertical" lines are usually rendered leaning right (but pure vertical is okay). The horizontal lines are truely horizontal and are drawn to the same right-hand and left-hand bounds.
Now: "#" that isn't a "sharp", its a "pound", or number sign, or octothorp or cross hatch. Period.
So this: "C#" is "see pound"...
Sorry, its just the facts man.
(And yes, its a sad fact that looks like a troll or a flame-bait, but that isn't technically my fault. Talk to the "wince" people... 8-)
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
Eh, nothing I can do about that, and at least "GIMP" means something: "GIMP is the GNU Image Manipulation Program..."
What is "C pound" supposed to mean? 8-)
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
I did read the article. Slackware95 did not. Slackware95 wanted to replace Java while the JVM is on stake.
In no case have you ever seen "C#" written as "see sharp".
"In no case..."??
Of course I have. Thousands of times. Did you even look to see if what you are writing is true? Look at pretty much any musical discussion anywhere on the internet...
http://www.list-of-chords.com/
http://musiced.about.com/od/lessonsandtips/qt/minosclaes.htm
http://www.guitar-chords.org.uk/chords-key-b-flat-minor.html
http://www.ehow.com/how_5496374_play-adopted-cyclopedia-music-theory.html
http://www.8notes.com/guitar_chord_chart/ax.asp
Seriously, there is a _huge_ difference in symbolism.
And yet musicians the world over have accepted it as a suitable convenient ascii substitute for sharps to the point that # and b are accepted conventions when discussing music on the web.
Intentions only take you so far when you make an epic screw-up.
The only epic screw up here is insisting that it be called C-pound.
It's "C pound", live with it... 8-)
Just like (c) isn't the circle-c for copyright and it has no legal meaning no matter how many people put it in their code, this thing ==> # == is not a sharp. Ever.
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
Does that mean that the string "a b c" is "a sharp c" because I said so?
No. Because that isn't the meaning of the symbol "b". It is _necessary_ to misuse "b" in a musical context if you are stuck with ASCII encoding.
Microsoft was not so stuck. They either didn't know, or didn't care, that they were naming the language C-pound.
The license to pretend that some things are actually something else has its limits. The numeral three isn't the letter "e" no matter how many people write "l33t".
Deep in your soul you know I am right, else you would have stopped two messages ago... you are a C-pounder. And every time you preface a function with square-bracketed config directive looking thingies, your soul dies just a little more. Pounding it deeper into ignominy.
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press