Microsoft's New Language
We've been buried in submissions about Microsoft's new programming language. Here's one of them. Brohamm writes: "Microsoft has created a new language called c# (pronounced C-Sharp). It's supposed to look like C but has the same concepts as Java. Looks like they gave those J++ developers something to do. Check it out at CNet."
Anybody who works for MS has to make themselves believe that what MS is doing is good, right, ethical, just and necessary. Otherwise they could not sleep soundly and with a clear conciense.
Or maybe they are just evil like the top brass is.
War is necrophilia.
What if Microsoft is just announcing something they won't have for a long time just to undermine competition. Wouldn't that be kind of underhanded? That would be so unlike them... :-)
Microsoft doesn't like their technical position so they fight with vaporware announcements. The truly open technologies like Java, JSP, Servlets, XML, EJB and of course Linux seriously threaten Microsoft -- much more so than Apple did in the pre-Windows past.
It is very, very difficult to believe that C# will be anything but Windows-specific. If they wanted to be open platform proponents they could just abide by their Java license -- and join the rest of the world. No, they are just buying time with vaporware. Microsoft needs something like Microsoft.net to catch on before their entire software base gives way to freeware alternatives.
C# developers should consider the sad fate of J++ developers.
for those of you who don't get it #-sharp b-flat these are musical terms not computer terms, there profe their the MS can not even get naming right, this will probably be another lets steal from here there and every were and see if we can get away with it, and call it inovation.
I'm glad I didn't waste my time on Java 1.0
(I work every day with Java 1.1 and I love it)
Uhh, I've never had System.currentTimeMillis() do that. It just works.
No... the reason why you're an idiot was because you bitched and moaned about a Java deficiency that does not exist.
It's not merely because you're ignorant (since we can't all know everything), but that you saw a problem and did not research the obvious solution to it, instead deciding to spread FUD (even if unintentionally).
It's true that GC works best on classes who's only 'resource' is memory but IMHO the creakiness of having to call explicit cleanup functions (File.ReallyFreakingCloseNowDammit) every once in a while is not a big deal. The other advantages of GC seem to outway the disadvantages for most app-level development.
I was going to nominate 'Microsofteese', but must I defer to the more accurate nomentclature you suggest... I think it should be one word, though -- "Ceeshit"; southerners can pronounce it "Ceeshee-aye-eet".
"The Internet is made of cats."
Come on, be reasonable. How did Java get adapted, then? C, C++, and perl were already heavily entrenched! Or how about C? Fortran and COBOL were already heavily entrenched!
-JTB
nothing from MS lasts a long time. As soon as the ms developers get their minds around this thing MS will pull the rug out from under them again. Over and over they have done this. I am shocked to hear you say that MS is abandoning COM. MS has a very bad track record for doing this kind of stuff.
I myself got snookered a couple of times by this kind of crap and finally gave up trying to play catch up to their acronym of the day.
War is necrophilia.
Splat is *
Do we have a link for "C#" yet? If you search for "C#" with the main Microsoft search engine, all the hits are irrelevant, as you'd expect.
It's a set up! I've been conned! I don't know how else to refer to people from the US, other than American.
:) In Spanish, we call them "Estado Unidenses". Sounds like it's high time to make space for a new word in the English language. That or use the word "gringo".
:)
Well I had to get you with something
When I came to work in the US, I had no idea what people were talking about: "pound define", what the bloody 'ell is that?
Well, maybe my post is too US (not American) centric. I'm from Panama, so I have no "bloody" (love that word) idea how they call "#" (in a programming context) in other English speaking countries.
So, for many (not most or us) US "C/C++" programmers, "C#" may seem like "C pound". Did I get my statement right now ?
- sigs are for wimps.
Take it from a Visual Basic programmer. The models are too far apart. Theoretically, if VB can compile to its own p-code, it can compile to Java bytecode. But the resulting executable would simply blow goats. VB always was, and always will be, a Windows-only development tool. This has allowed MS to highly optimize VB for Windows. It's not meant to be portable.
Besides, Microsoft is leaning more toward C++ with VB. Starting with 5.0, VB added native x86 support by compiling down to VC++'s object format, then using VC++'s linker to produce the
Here's the final nail in the coffin. I just came back from VBITS, and Microsoft's VStudio product manager was there. He delivered Monday's keynote, which was a preview of VB7, and moderated a Q&A that night. When asked about the future of "Java" at Microsoft, he said this: Sun's lawsuit against Microsoft (which is, admit it, nothing more than a pissing contest) has J++ tied up in knots right now. Microsoft can't make a move in the Java space without conceding to Sun, which billg's pride won't let him do. Therefore, C#. All of the language benefits of Java, without Scott McNeally's MS-wannabe oneupsmanship.
Of course, all of this talk about C# is speculation right now. I'm eager to see the details, especially considering that there was not a word about C# at VBITS. Plenty of SOAP (which is a very Good Thing, BTW), but no C#.
Every day we're standing in a wind tunnel
Facing down the future coming fast - Rush
This sig intentionally left blank.
However, everything associated with Juice is open-source, and the API is documented. If you're curious, you can check it out here.
It's all a bit rough, but I think all it would take to turn this (or at the very least, the model on which it is based) into something really useful and promising is to get an active group of people maintaining and improving it. It's certainly interesting as a cross-platform development tool, completely outside the browser. Anyone interested?
The reason why VB is not used for those critical applications (and you are wrong about it being desktop only, there are TONS of VB and SQL Server developers who write client server and n-tier apps, that do the job that needs to be done, in less development time than C++ and Java), is that it's not object oriented and doesn't allow free threading like C++ and Java. Visual Basic 7 will have OOP power. You'll see people writing critical applications after VB7 comes out. You may say no, because VB is still not as low-level as C++ or Java, but that's just fine, because VB developers can switch over and make C++ COM+ objects, and use EJBs for the critical parts, and VB for the less-than-critical parts. The languages will mix and match abilities. Since Visual Studio 7 will be an IDE for languages and web development, the components and Web Services will be accessed as if they are native, allowing all kinds of flexibility in your applications. C# sounds like it will allow us to write Java-like programs, but that's just because ANY language you write today SHOULD be based on the good things that other languages provide, like garbage collection, and security built in like Java allows. Just because it is a language designed for the internet doesn't mean they are stealing Java's ideas in the sense that people here make it out. It only makes sense to take Java's benefits. Java took C++'s benefits and culled the good things that other languages of the past brought to mind. C# is obviously being designed for the "programmable" internet, something Java wasn't designed for. It is also designed for Web Services, a concept that Sun is pushing as well as Oracle and many of the big companies that pretend they are all for the OpenSource community, but if you watched Scott McNealy at JavaOne you would realize all Sun gives a damn about is MONEY! They say so, if you just listen to the web casts. Everyone here is acting like Sun is our friend. Bull. That's so untrue, they would LOVE to be in MS's shoes (pre-trial that is). At least we know what MS does with it's power. They built the best browser in the world, FOR Windows. You all think they should build a browser that works as well for Solaris??? That's retarded! That's called stupidity. The reason is, and EVERYbody here should realize by now, that the browser is a platform and will become a tool that accesses components to make customized operating systems in the future, no matter what kind of hardware you are using. You'll be able to pick and choose your components, and design your own OS. If you see that MS's component that controls your video sucks for some reason, then you can use a EJB to do the same, or build your own. All MS wants is to have control over the platform that utilizes these components. Sun does too. So do all the companies in the world. So they will all make their own, and they will run on application servers, with clients on the devices that access the servers. That's what I think will happen. C#VM is made supposedly to allow this to happen more easily, and be language agnostic. That means you should be able to run your old code using this VM. I don't see the problem. We could all write MS, and ask them to please make this available in a license form like Java is, or better. Instead of just making fun and saying it won't work, and VB people are lame beginners - which has nothing really to do with C# anyways. BAH! Java is overrated, and everyone knows it. You just can't admit it. VB is overrated too. They are all shitty. I am just glad to hear about a NEW language that is made to deal with these things. You all should be too, and forget about you biased attitudes.
I mean, what's with the blind devotion to WORA concept? I mean, what's wrong with taking the nice language java is and allowing it to take advantage of the underlying platform. sure java was intended to be WORA, but why stop other people from being able to make it do *more things*.
The entire point of Java is that it will run anywhere. Take that away and it becomes just another OOL that is almost but not quite like C++. We don't need another one of those.
I guess it depends on wheather you are writing desktop apps or server apps. If you are hiring a b2b programmer then VC++ might be useless and cross platform may be required.
My guess is that the only people who use this are people who still stuck to using VC++ despite MFC, ATL and all that crap. They will finally breathe a sigh of relief and start using this. VB people will never migrate "up". They hate all the changes happening to VB right now. Needless to say no Java programmer will drop java to embrace a new tool especially since it will mean giving up a high paying job.
Besides in six months MS will change their mind again.
War is necrophilia.
Has anyone seen Canibal the Musical, (Matt and Trey flick)
Theres a pythonesque scene just like this!
Semitones Schmemitones (or somethiong like that).
1. Isnt 'C' a trademark of AT&T (whoever)?
2. I would kill for a simple java to native compiler, ie. java -> ELF.
3. This isn't it (I got sparked but I was left dry by 'platform independant')
4. WHAT the BLEEP is Language independance???????
5. The 'features' of Java I want in my native compiler are, exceptions, referenced object (enough pointers already), and garbage collection. That is all.
6. This sounds like a java clone (java IS C syntax with a more centralised API)
7. WHAT the BLEEP is Language independance???????
8. I meant to do that.
9. News flash microsoft plans to attack Sun:
http://www.csharpsarms.com/
Insistence over control of the language!@?!?!? Didn't they invent the language? Does GM give its' cars away for free?
Wrong analogy. That's not the point I'm making. My point is how Sun, not once, but twice, went to two standards bodies (ISO and ECMA) to start the process of making Java a standard. In both cases Sun pulled out of the processes at the 11th hour. I don't have any complaints with Sun controlling Java as long as it is understood up front that this is their intention to do so, and they remain consistant about it . I liked the langauge even before Sun made the grand announcement about seeking standardization, which helped further Sun's cause. It is my feeling that Sun cynically played not only on anti-Microsoft sentiment to further their own position but on the strong pro feelings many have about open standards. It was a one-two combination that helped grease the skids of acceptance in a lot of quarters. Once Sun was assured of its position, however, it realized it had no need to complete either of the standardization processes; they had achieved what Microsoft has achieved, a defacto lockin in a lot of organizations. And many of us felt used because of it.
The ends never justify the means, not even when fighting against Microsoft. When you use Microsoft's tactics, you're no better than they are.
Tried Ada? Yeah Yeah, another Language Religious War Post, Right? Not as such: look at the results of the research. There's religion, and then there's science. Ada's not perfect, just the best of a bad bunch. Some facts: Compilers are free (GNAT) Can generate Java Bytecode (need another free tool to do this though) Stable - 2 versions (83,95) over the last 17 years AND they're both ISO standardised. Yes, code generated for 1 compiler/platform often needs 0 changes to run on another. Even if the original is Ada-83 and the new one Ada-95. I've seen this with 17,000 line add-ons developed on a PC/Doze 3.11 box in another country, ported to and integrated on VAX/VMS, then finally on an embedded system using yet another compiler. (Ok, 3 lines needed changing, bugs caught in the integration). Works just as well for smaller projects too. Most of the functionality of Lint etc is already in the language, no need for expensive tools. Can do anything that Java can do (using standrad libraries), plus it has generics (templates) Basis for Oracle's PL/SQL And finally the US DoD is no longer mandating its use, so we can get rid of the Military Industrial Complex stigma. The same process generated the Internet and Unix BTW, which both have military roots (US DoD funded development). Boeing, Airbus, Tupolev etc use it in all their new airliners (for reliability) and all the (few) experiments have shown development in Ada is cheaper over the lifecycle than C++ anyway. IMHO For Military Big Bux stuff where the Weaponmakers make $$$ out of fixing bugs, they avoid it like the plague, too reliable. (hence the successful pressure by the Beltway Bandits for the DoD to delete the mandate). Downsides: We've had reliable, strongly-typed, OO languages for nearly 20 years now. But quality costs time, you can ship a buggy product that will never be fixable quicker using Wizards and VB (or even C)than a quality one. While we're willing to put up with Blue Screens of Death every day and pay 10% less and not have to wait an additional week, then we'll continue to get C#, VB, Outlook and Worms. for (int i=kBIGARRAYFIRSTi;i Ting described how a Silicon Graphics Ada star programmed > a voice recognition application in 4 1/2 days that used only > 3 percent of the CPU, while the C++ version took two months > and consumed 17 percent of the CPU.
Zoe Brain - Rocket Scientist
Only one of the developers of C-- is at Microsoft Research. The others are at Harvard (Norman Ramsey), Glasgow (Fermin Reig), Oregon Graduate Institute (Thomas Nordin), and other universities. The only C-- implementation comes from OGI, not MS.
Nope, actually, it's the 5th string of a guitar. The strings are numbered from highest to lowest.
Speak for yourself. "lb." is "pound." "£" is "pound." "#" is "number sign." (Keyboard trivia: shift-3 on a British keyboard gets you "£" instead of "#"...makes you wonder where "#" went. That still doesn't make "#" "pound," though.)
_/_
/ v \
(IIGS( Scott Alfter (remove Voyager's hull # to send mail)
\_^_/
20 January 2017: the End of an Error.
If you don't like their control, don't use it! Use something else! Just stop whinning
People who come from democratic countries tend to whine. It's free customer feedback, if you think in the 'new way.'
Well it is pretty clear in the Bill Gates speach on the new microsoft.net website what they have in mind (Pay attention to minute 21:30 seconds of the speech)
There is a very strong analogy with what we do now and what we did with windows. And it is even more analogeous for the internet to what we did in 1995 with windows, the browser and the 18 months that followed...Today, it is far more ambitious
Can it be clearer?
C# -- Runs on Windows. Microsoft's idea of platform agnostic is "Look mommy, I made it run on Win95, NT, and 2000."
But don't worry, you'll probably get what you want. When Microsoft drops Java support altogether in MSIE/windows in favor of C#, the world will probably flock to such a wonderful, consumer-benefit-providing innovation.
A systems programming language is usually defined as assembly compiled and useful for writing OSs, device drivers, BIOSs, boot loaders.
You did not mean what you said.
Well said, but...
./ readers might want to build a two dimensional grid with
>In essence, every note in an equal tempered scale is a wrong note!
With the exception of the octaves, which are exact (that's the whole point).
On a C tempered scale, B is the worst approximated note, a fact that is quite easy to hear.
Western music is based on thirds and fifths: the more mathematically oriented among
powers of 3/2 on one axis and of 5/3 on the other one to see what happens and why the equal tempered tuning was introduced.
People who know about the continuous fraction expansion of real numbers may also find out why 12 semitones were used by expanding log(3/2) and log(5/3) [well, the historical reason has little to do with continuous fractions, which merely provide an explanation]. IIRC (I am probably slightly off) the next best approximation are at 42 (good third and bad fifth) and 54 subdivisions, both are quite unpractical.
fB
Imperative programming (OO or non), for better or worse, will be the standard for quite some time.
> Yet another lame MS "techonology" marketing name.
"Remember, it's spelled 'C#', but it's pronounced M-O-R-E-C-R-A-P-F-R-O-M-M-I-C-R-O-S-O-F-T."
--
Sheesh, evil *and* a jerk. -- Jade
We've been known to call them "septics" - septic tanks - Yanks (the rest of the formation, and the subtexts, are left as an exercise for the reader)
--
Cheers
Cheers
Jon
Now if we can get M$ to port Outlook and Exchange to Linux/BSD some 14 year old in a third world country could shut down the WHOLE internet. They'll probably give C# the same unrestrained access to key system resources they've given to vbs only with more "features."
I understand the distinction you make... The point is noted! Indeed, there are a lot of problems with Microsoft products, but I felt it worthwhile to point out that trying to create a product that is easy to use is not a flaw. Microsoft's flaw, in my opinion, is confusing 'easy to use' with 'easy to mess up'.
As for Assembler, it may be very powerful, but it stands in my mind as very user-unfriendly. Old-school hackers may call it the ultimate language, but I dunno... I kinda like using a flexible editor and strong, intuitive language! Even if that marks me as less 'hardcore'. And no, that doesn't mean I'd like a paperclip to comment my code! :)
You are perfectly right, however, in pointing out that COBOL and DOS BATs are very good examples as well. :)
Win 2000 here with netscape 4.73. No problems either, it just asked me once if I wanted to let it run netscape, I told it no, and the page stopped loading. Might cause a problem in IE, but I don't use that piece of junk so I'll never know.
Now I see why VC++ is about the crappiest C++ compiler on the MS OS market. Everyone's busy doing other languages, or, perhaps more likely, every competent compiler writer left microsoft a few years back so now they have to make up a language simple enough for them to write a compiler for it.
If you defend VC++ then you don't know C++. Trust me.
A few years back GCC was a very poor C++ compiler, it actually only understood a small subset, and I'm sure VC++ was superior at that time. Then the standard was finished, and someone fixed GCC big time. Today I can take samples from Bjarne's book, compile them on GCC, and collect ``internal compiler error''s from VC++. Or random parser errors. I've ``fixed'' software by inserting function prototypes between class declarations, redefining ``protected'' to ``public'' and the likes, on windows.
Best of all, Microsoft gives no feedback to normal users that turn in bug reports, they give no dates on service releases/upgrades, nothing. If you use C++ you're pretty hosed with the MS solution. Now it seems that we're going to be _really_ hosed, now that microsoft has a new language we should all favour.
If you think of what Java did to sun, imagine what this new language will do to the already poor (nah, missing) support for C++ on MS platforms.
I'll make sure to hire someone to make GCC run well for us on NT. It's time to bail.
Why not get the stoners on our side with GANJA? Cuz Ganja Ain't No JAva, mon.
< tofuhead >
It is still the dark of night.
For once, I have to agree with Microsoft. C# is not cool.
MSMQ is the result of this strategy applied to IBM MQSeries
The honestly expect programmers to pronounce this C sharp , when we all say pound for "#".
Yet another lame MS "techonology" marketing name. LOL !!!
- sigs are for wimps.
As it stands, any Windows seem to be already split between VB and C/C++. Are any of them going to swithch?
This may very well end up as a good language, but will we be able to take the marketing blitz and spin that will come with it?
I mean, we all know it ain't for geeks until there's an O'Reilly book, right?
--sugarman--
The problem with this is - you guessed it - proprietary development systems. And, the fact that it's one more resource that they could conceivably lock into Windows, monopoly or not.
Enough complaining, though, about MS - the other thing is that from what little I've seen on it, it looks like a really nifty idea. Not to play sides, here, but this is something I'll prob'ly learn and use (for a little while, anyways)
"I'm not even supposed to BE here today!"
are confusing Java the programming language with Java the operating environment.
Actually, I am aware of the distinction. Usually when people refer to just Java, they mean the language, bytecode, and a VM that will run it as specified in Sun's documentation.
By 'extending' the language, MS came up with something that would only work with MS products, which violated the intent of Java.
If I write something in ANSI C adhering to posix specs, I expect it to COMPILE and RUN on any posix system with an ANSI C compiler (provided that I stick to libraries available on all platforms).
For Java, the compiler is expected to accept only standard source, and compile it into bytecode that runs on all compliant JVMs using libraries that will also run on all JVMs.
gcc does have several non-standards in it, but it doesn't purport that you can freely use those extensions and expect all to be well with other compilers. OTOH, it is more portable than MS Java since there's a gcc for just about anything these days at no cost. How many platforms does MS support?
Go away, learn IBM COBOL (as used on MVS), learn ICL COBOL (as used on George 3), and then come and talk about language pollution :-)
I'm not sure I want to know! COBOL is painfull enough as it is.
I've seen the langspec, the reason I posted the above is that I'd read an erroneous news report yesterday which said it was just new APIs.
What I don't get is how they can claim to have derived a language purely from C and C++ and still come up with something so close to Java.
${YEAR+1} is going to be the year of Linux on the desktop!
Oh, yeah: anyone who uses a number-system of a base equal to or larger than 13 (ie: hexadecimal) realises that "C#" is "twelve pounds"--that's a pretty heavy language:)
But, how much do some other languages weigh?
-rozzin.
Uhh, I've never had System.currentTimeMillis() do that. It just works.
Well, you arn't using the win32 implementation, then
ReadThe ReflectionEngine, a cyberpunk style n
- Lisp
- Scheme
- ML
- Eiffel
- Sather
- Smalltalk
- Ada
- Pascal
- Oberon
- Python
- COBOL
just to mention some of the more well known ones, and in addition compilers to Java/JVM for the following languages- Haskell
- Mercury
are under development. All in all there are more than 130 different tools that compile to Java and/or the JVM. See the full list.As they say, YMMV. Certainly Modula-3 is an excellent language, and arguing whether Ada-83, Ada-95 or Modula-3 is "better" is like arguing the difference between a Ford and a (Pontiac/Opel Holden). Yes there are differences, but it depends on the exact version, and the differences are relatively small.
But Ada (or Modula-3 or Eiffel) vs C, that's like comparing a Ford (or Opel or Toyota)to a pair of Rollerblades and a JATO pack.
Thanks for the URL BTW. Here's a good one for Ada:
http://www.adahome.com
Also anyone who's seen Oracle's PL/SQL or done hardware design using VHDL has programmed in Ada (though they're probably not aware of it).
Zoe Brain - Rocket Scientist
If you don't like it. Don't use it.
I personally love the idea of reducing the redundant tasks C++ COM programmers have to go thru.
How is a language going to be a hybrid of two languages one of which (C++) is already essentially a superset of the other?
They are clearly not the only good technology publisher.
I like Sams, McGraw Hill and Prentice Hall.
Sams would go to people who made electronics and get technical information from them and use that to compile repair manuals for TVs, Radios, and other electronics.
You could get repair manuals for the Commodore 128, The IBM PC and many other companys.
Now a days companys have become paranoid. Oh my ghod someone might use that information and make a compeating TV set.
Anyway O'Reilly is very populare and even used by Microsoft employees.
They document such things as Microsoft Windows, BSD (Hah sorry Zico they DO have a BSD book) and the palm pilot.
Zico is basicly full of it... allways is... He has some agenda. No he isn't some Microsoft plant or from the Krull invasion force.
He has some stake in this. It's probably some stake in Microsoft but that might not be the case. Maybe it's just that you could code crud on a stick and sell it for Windows but couldn't give it away on Linux.
Anyway O'Reilly is known for having Lary Wall on the payroll. Not for writing Linux books.
They see themselfs as compeating with "Dumbies" books so when the populare title shifts out of tech books into self help books you find "In a nutshell" not far behind.
Along with Dumbies and Nutshell I also recomend Sams "Teach Yourself" books...
Zico should have gotten "Teach yourself Labotomy in a week" instead of "Labotomy for Dumbies".
I don't actually exist.
And then there's this one that did the rounds a few years ago:
//child classes can now be derived // define MySclass
// illegitimate
// OK now
***New Subject Oriented Programming Language***
C+- (pronounced "C more or less")
Unlike C++, C+- is a subject oriented language. Each C+- class instance, known as a subject, holds hidden members, known as prejudices or undeclared preferences, which are impervious to outside messages, as well as public members known as boasts or claims. The following C operators
are overridden as shown:
> better than
> much better than
forget it
! not on your life
== comparable, other things being equal
C+- is a strongly typed language based on stereotyping and self-righteous logic. The Boolean variables TRUE and FALSE (known as constants in less realistic languages) are supplemented with CREDIBLE and DUBIOUS, which
are fuzzier than Zadeh's traditional fuzzy categories. All Booleans can be declared with the modifiers strong and weak. Weak implication is
said to "preserve deniability" and was added at the request of the D.O.D. to ensure compatability with future versions of Ada. Well-formed
falsehoods (WFFs) are assignment-compatible with all booleans. What-if and why-not interactions are aided by the special conditional evenifnot X then Y.
C+- supports information hiding and, among friend classes only, rumor sharing. Borrowing from the Eiffel lexicon, non-friend classes can be
killed by arranging contracts. Note that friendships are intransitive, volatile, and non-Abelian.
Single and multiple inheritance mechanisms are implemented with random mutations. Disinheritance rules are covered by a complex probate protocol. In addition to base, derived, virtual, and abstract classes, C+- supports gut classes. In certain locales, polygamous derivations and
bastard classes are permitted. Elsewhere, loose coupling between classes is illegal, so the marriage and divorce operators may be needed:
marriage (MParent1, FParent1);
sclass MySclass: public MParent1, FParent1
{
sclass YourSclass: public MParent1, FParent2
divorce (MParent1, FParent1);
marriage (MParent1, FParent2);
sclass YourSclass: public MParent1, FParent2
{
Operator precedence rules can be suspended with the directive #pragma dwim, known as the "Do what I mean" pragma. ANSIfication will be firmly resisted. C+-'s slogan is "Be Your Own Standard."
Too late! Activestate are doing it for them: Visual Perl and Visual Python will leverage Visual Studio 7.0.
In my experience, an "easy-to-use" programming language has the result of being horribly bloated, since you have to include features you'd never use, since it's so friendly to have everything already done for you. Reusable code should only go but so far. Personally, I like C/C++ even in its more obscure moments. I like not having to link in complex number handling when I code "Hello World".
I live now in mortal fear that GCC will support this.
WARNING: there is a trojan on your
You're behind the times. Java has had JITs for years. And the latest "JIT", Hotspot, is quite something - it does dynamic optimisation.
Female Prison Rape in NY
A friend of mine, after learning to use Visual C++, stopped calling it "C++" and started calling it "The Microsoft Language" or "TML" for short. He said that TML bore little resemblance to actual C++, what with COM and all, and was more accurately described as TML.
Can't wait to hear his take on d-flat.
Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
Didn't they invent the language? Does GM give its' cars away for free?
Cars and programming languages have a very different tradition. AT&T Bell Labs is the creator of two of the most popular programming languages in the world: C and C++. The development of both of these languages is guided by the appropriate ANSI committe. Ditto FORTRAN, ADA and many other languages which are managed through standards. Languages like Python, Perl, Scheme and TCL are not managed through standards, but their reference implimentations are open source, and thus wide open to the community.
That leaves two newcommers as the tidings of an unfortunate trend: Java and Coctothorpe. These languages are strictly managed by their "owners" (as if one can own a language in the first place). This leaves the future somewhat uncertain for those of us who have always assumed that it was obvious to all that open standards are the way you manage a programming language.
It's fairly moot anyhow. The correct response to Coctothorpe is to evaluate it's usefulness and, if it is deemed worthy, write a GCC front-end for it or (if it's interpreted-only like Java) then a run-time implimentation can be written and open sourced. Until our government (which in the case of intellectual property is rapidly becoming the UN) gets stupid and declares languages patentable, we're OK implimenting our own Java and Coctothorpe.
I was looking at the list of features that microsoft intends to add to VB for the next release (VB7), and they are (allegedly) finally adding many of the features that are present in most 4GL's (inheritance, multi-threading). In the words of my brother (a java accolyte through and through) "I've never seen a language try and become java so quickly." Perhaps they will let you compile to java bytecode but how would this aid microsoft? They could make it only run on the Microsoft JVM, but why try and shackle VB programmers to Windows? They are already about as shackled to windows as anyone can be.
Of course, Sun's control of Java isn't inherently any better than MS's control of their poorly named language. Frankly, no matter which language you choose of the two, you're in bed w/ a corporation that couldn't care less about your rights and privileges.
Of course, if you're comparing Pokeman attacks, I would have to go with C#. It's name alone is enough to stun the most stalwart programmer, and I have a funny feeling that its API will deliver the killing blow.
Fudge.
- Oberon
- Modula-3
- Limbo (from Bell Labs)
- Sather
- real-time Java
It's too bad Microsoft needs to reinvent the wheel, again. But, I suppose, except for Java, those things don't use enough braces, and RT Java wasn't an option for them.Well, if they manage to come up with a language definition that is as decent, efficient, and simple as Oberon or Modula-3 and they manage to make it successful, that's still a big win for everybody. For systems programming, C really needs to be replaced by something that is a bit safer without being a lot more complex. But given Microsoft's track record on language design, I won't hold my breath.
I do understand the reasoning behind Java, honest. "Write once run anywhere" is a cool idea. Not necessarily feasible, but certainly worth aspiring to.
How much can you be surprised by a consumer-grade language not living up to its hype?
That's actually a very good point. And (steering back in the general direction of the original topic)I don't think that C# will be any better in those respects. Your point about the smaller subset is shared by quite a few people, Bjarne Stroustrup included.
I'm not one of those people, though. I'm a control freak -- I'm the first to admit it. Give me a language that I can make do anything in any way I choose -- give me enough rope. Let me decide which features are too complicated.
I also think (and this is a bit out there) that one thing Sun did really wrong (and I expect MS to do even worse) was making Java like C++. A C++ programmer with no Java experience can look at a Java program and make some sense out of it. It isn't until you actually get into the details that everything starts to feel so wrong. I truly believe that this would be less of an issue if it didn't look so much like C++.
Juice is a derivative of the moderately cool language Oberon, which is a very cool derivative of Modula-2. But that's not the neat part about it.
What's really neat about Juice is that while it IS platform independent, it doesn't do this by compiling out to the "native bytecode" of a Juice Virtual Machine. It compiles out to intermediate object code which can be downloaded by a client machine and is then compiled to the real machine's native bytecode with the Juice Just-In-Time Compiler.
The object code is reasonably compact and platform independent, while the resulting compiled code has the speed advantage of a native program. The standard distribution of the browser plug-in includes a set of standard libraries for common functions and graphic controls which a Juice program can use to reduce its download size greatly if it's doing standard sorts of things.
If it shares as much as I think it does with standard Oberon, executables can share modules in memory similarly to the way windows apps use DLLs, reducing the memory footprint for running multiple Oberon apps.
Anyway, I've always felt that Java was a subpar solution because of the speed issue. Juice solves that. I'm curious to see more details on C# to see if it's going to JIT compile to native bytecode or just re# the Java model of running interpreted code on an emulator for a Virtual Machine.
You are really missing the point with all of the microsoft issues. The reason for proliferation of the macro viruses, etc. is not their inherent power (C is far more powerful) but their ability to hook strait to the environment combined with a lack of any sort of permissions and a userbase of people who run every attatchment sent to them.
Erik
Why? Because I disagree with you? Because I'm not a java-loving sycophant? If those are the only criteria for idiot-hood then sign me up now. My being an idiot must be the reason that I have to turn down job offers all the time. Must also be why I consistently deliver, on time and free of serious bugs, high quality C++ code.
Learn Java before you criticize it
Funny, I learned it well enough to bill for it. Well enough, in fact, to write better code than the Java team that came before me wrote. Well enough to clean up their crap and write something better in less time.
If you are worried about a resource in Java not being returned due to an exception, use finally
You're not seriously suggesting that it is better for the caller/consumer to clean up after an object than for an object to clean up after itself, are you? Hell, while we're at it, why don't we get rid of constructors and just initialize objects that way too? And who needs those pesky methods? Just unroll all the code and let the caller do it all!!!
Now go make up another reason for not liking Java.
No need, Sun has done a good enough job for me. I won't even pick on the speed/bloat issues -- those are too easy. So how about lack of multiple inheritance? (No, inheriting multiple interfaces doesn't qualify as multiple inheritance.) Or do you buy into the Sun party line that MI is "too confusing" for developers to use?
Do you honestly believe that Java is going to kill C++? Sun can say that all they want -- has been for over 4 years now -- but that just won't make it so.
# does not mean pound in the UK....
I've never heard anyone call it that. It's either hash or sharp.
In fact, coming from a musical background, I always call it the sharp sign.
"Information wants to be paid"
Well, what about #import?
That's 'proprietry', but it's DAMN useful.
I understand where you're coming from. I make my living doing (mostly) COM in C++. I still don't like the idea of Microsoft (or anyone else) making proprietary extensions to C++. There are almost certainly better ways to accomplish what they're trying to do here. Why not enhance ATL or add some mix-in classes? Macros? Templates? It just strikes me as a "lock-in" kinda ploy and that always makes me suspicious.
People have found all sorts of uses for C++ constructors/destructors, but when it comes down to it, C++ is the oddball language there, and destructors in C++ cause all sorts of problems.
Reference counting leaks circular references. Reference counting is also inefficient compared to a good garbage collector. And reference counting in C++ fails to give you the runtime safety that a system based on garbage collection gives you. Essentially, there is no way to write portable memory management code in C++ that works as efficiently, reliably, and safely as built-in garbage collection.
People should stop confusing the terms of Programming Language, Development Environment, Runtime Environment, and all the implementations of these on one or more OSes.
Just my 2c.
- Steeltoe
http://www.debunkingskeptics.com/
Go away, learn IBM COBOL (as used on MVS), learn ICL COBOL (as used on George 3), and then come and talk about language pollution :-)
--
Cheers
Cheers
Jon
Didn't Apple abandon ObjC in favour of C++?
Now while all you bitch ass niggas go ranting about how c# is gonna be dFlat or whateva, you fail to realize that this language is going to be used in MS's Next Generation Web Services... this is what you should fear fools! Hehe you guys keep blabbin non-stop about how windows is freakin proprietary and buggy, but wtf cares it aint gonna make a difference in a year or two...heheheh don't ya see... windows as an OS is not going to be around.. and not cuz of the justice department...but because its evolving...hahahah you all don't get it do you.. moe-freekin-rons. You all are going to be eating MS dust in a couple of years, if ya thought you were behind now, just wait for another year or two.... mwahahahahahah
Taka no Dan no Griffis
"If you want your resources to automatically return themselves, wrap them in Java classes which return themselves during finalize(). I've been doing that with JDBC Connection objects for two years. Works like a charm."
Isn't the point of finalize() that you should clean up _memory_, not resources?
"If you want resources that are returned when a exceptional event occurs, take advantage of exception handling. I don't see what's so hard about this, and I don't see what a destructor would add."
It would add the benefit of automatic recycling of resources allocating their object-counterparts _on the stack_. It would be independent on syntax-scope and object-scope. It could also give you the convinience of telling the computer _excactly when_ the resource and object should be destructed, while retaining the formalization of the constructor/destructor concept, instead of calling an arbitrary Close().
People who haven't programmed in C++ really don't know what they've been missing out of. This is to much frustration of many C++ programmers that do see weaknesses in Java. Yes, there are many weaknesses in C++ too, so don't take it personally.
And stop calling people idiots, it only reflects on yourself.
- Steeltoe
http://www.debunkingskeptics.com/
This has nothing to do with the problem at all. It is a problem of correctly describing what a function does, what dependencies it requires, etc. In other words: more formalization. Neither Java or C++ have capabilities for this beyond the function prototypes.
- Steeltoe
http://www.debunkingskeptics.com/
The answer is that this comment is aimed at the middleware market, where the competition's currently EJB vs. COM+ (with CORBA - specifically the CORBA Component Model - currently a fairly vaporous alternative) If you want to write EJB, you're stuck with Java: COM components, OTOH, can be written in any language (more or less - I haven't seen Befunge, Intercal or Brainfuck wrappers yet :-). The point of this rambling is that C# components will be interoperable with Java components, COBOL components, VB components, C components, C++ components etc while EJBs aren't.
--
Cheers
Cheers
Jon
I hate to sound like a troll... But isn't Perl powerful and easy to use???? Or is it okay to be dangerous, as long as you are open source?
Conformity is the jailer of freedom and enemy of growth. -JFK
My 2 dollars
-= Griffis =-
Its not C-Sharp, C-Pound, or ever C-Number. Everyone knows the only thing associated with # is a rootprompt.
But of course considering this is a Microsoft language I dont expect much but alot of hype, however I would like to see a cross-platform version of C-Rootprompt but it will likely not happen, and will likely be a proprietary language designed to keep a stranglehold on the OS biz.
suddenly I feel very tired
"Stroustrup has approved the language by the way. Just thought you'd like to know."
OMG, All hail the great god of C++ Bjarne has said C# is "OK", therefore it must be OK, and can't be MS "embrace and extend".
Right. Please people, learn to developer your own opinions. Experts can be wrong too, we can't just slobberingly agree to whatever somebody says just because their name is "Bjarne Stroustrup" or "Linus Torvalds" or "Bill Gates" (yes there are many people who hang on his every word too.)
If it's not "embrace and extend" then give us some technical reasons why it is not, not a "Linus says it is so, therefore it so" type of argument (replace "Linus" with famous expert of choice depending on context.)
whoomp! there it is
I thought that PLEASE DON'T CRASH was an intercal
instruction.
Nope. Apple claims that Cocoa is only available via Java or Objective C. I think this is a bit odd, but I guess it's possible. I imagine most people will just write C++ Carbon apps, even though Cocoa gives some cool additions.
Kerner
Cool isn't meant to compete with java though, not primarily. It's microsoft's attempt to take ideas from java (like the sandbox) and integrate them into the windows script host, which by the way, gets more use out of javascript, and increasingly, perl, than vbscript.
Well, I've been learning Perl lately, actually.
I concede that it's powerful, but I don't know if I'd call it easy-to-use, precisely. I think a less powerful subset of perl would be useful and easy to learn, but less powerful.
However, perl is just too big to be that simple, and a lot of its charm comes from its regexps, which are actually pretty complicated, once you get right down to it. It has many handy C system calls and UNIX shell commands, and these aren't commonly regarded as being that easy or obvious.
And Perl is an interpreted language that supports lexical scoping, has an eval command, does some rudimentary garbage collection, etc., which puts it in the same class of languages as Lisp or Scheme, and that means you can do some weird, whacked-out stuff in Perl. Like writing a program to write Perl for you, and recursively doing something with the results.
Maybe if you're a programmer, and you spend some time learning it, Perl can be very powerful and somewhat easy to use. But I know there are some gotchas in there, and I'm sure many programmers have found themselves writing Perl code late one night and looking at it the next day, not knowing what it does, or how it does it...
---
pb Reply or e-mail; don't vaguely moderate.
pb Reply or e-mail; don't vaguely moderate.
I haven't seen Don Knuth posting round here, or ken or dmr for that matter. Since the mixture of individuals frequenting Slashdot is probably about 60% OSS/free software wannabes (i.e. can install Mandrake from CD and believes in his or her right to free MP3s), 10% BSD admins/hackers, 10% Linux admins/hackers, 15% Windows admins/hacker and 5% others (note that these figures come straight off the top of my head and have no scientific backing whatsoever), it is hardly suprising that they're anti-Microsoft.
--
Cheers
Cheers
Jon
Instead of making yet another object oriented language, modelled on Smalltalk or C++ or Modula 2, I propose, that for the domain space of solving practical problems of billing, that we implement a language to do just that. Imagine a world where instead of stupid things like "objects" talk to each other, where you could actually query billing server hosts, and download and extract the billing information that you need. I write billing engines for a living, and most that I have written I've screwed up in one way or another, but on the same token I'd be willing to work with whoever to make a language that can bill. I'm infinitately better at Windows than I am at Unix C/C++, but, I would prefer a completely open implementation. If I publicized an open source billing engine, targetted initially at energy providers, but extensible enough to deal with telecom, manufacturing, the whole nine yards... would there be anyone else out there willing to help with it, in an FSF sort of way? Or all you all just a bunch of pussies content to do the same damn thing over and over again in your language of choice?
This is my sig.
When they say C# is language-independent, they're actually talking about the underlying object model, libraries, and runtime platform. It shares the same runtime platform as VB (called the "URT"), and there's no reason any language in general couldn't be made to compile to the URT. In case you haven't heard, Microsoft is also completely revamping the VB language. C# and VB will be almost identical in terms of power and what you can do with them. It seems to me that C# is more or less just an alternative for the people - including most developers at MS - who simply don't like using VB, and, as has already been pointed out, a response to Java. Even the developers at Microsoft admit (amongst themselves) that C# and Java are practically identical languages on the surface. But really, it's more or less equivalent to the new VB, it just uses a C-like syntax.
They also are producing something called "managed C++", which is mostly a bunch of hacks to the C++ language to allow programs to compile and run on the URT. They are pretty much betting the company on this new platform. The language independence comes from the fact that all managed code (anything that runs on the runtime) uses the same object model and can share libraries. WFC has been implemented on the URT (written in C#), and it also has a bunch of system libraries which are all pretty well designed. The reason they say it's cross-platform is because everything is compiled to run on the URT, not natively. In theory, the URT can be ported to other platforms, and immediately any app that runs on it will run on those platforms. In the future, pretty much EVERY Windows app will run on the URT, so this is a good thing. The libraries for it are very rich, so there's no reason an application would need to use any Windows API calls or the like. The only real problem, of course, is that the URT will still be proprietary and controlled by Microsoft. However, it's not the mess that COM was (despite the fact the it was originally called COM+ 2.0), and may be easier to reverse engineer. The fact that it abstracts away pretty much anything that's Windows-specific (no more registry, among other things) certainly is a good step towards portability.
In my opinion, the platform Microsoft is working on now is by far the best progress they have made in a long time, and it's long overdue. They've realized that the current Windows development model is broken, and has no future, especially as the Internet takes over. Instead of trying to continually extend what they've done before, they're pretty much completely abandoning the existing infrastructure. They are throwing backwards compatibility out the window, which is what they needed to do a long time ago. Unfortunately, due to the DOJ stuff, I wouldn't be surprised if the public never even sees the fruits of these efforts. I've never liked Microsoft's software or many of the things they've done, but this is something they've got right. I really dislike what they're intending to use it for, which is to offer software as a service over the Internet, but as a development platform, the URT is exactly what the world needs right now. Of all their major undertakings - and this is one of the biggest - it's probably the first which is truly well-designed with the potential to last for a long time.
A lot of this progress on the URT, C#, WFC, and such can probably be attributed to Anders Hejlsberg, the mind behind Borland's Turbo Pascal and Delphi who moved to Microsoft a few years ago to be the WFC architect.
I care. I'm sure the people working on the project cares.
Hey, "who the fuck cares, if" some big corporation takes my domain name away from me?
I think that any software project, no matter how big, could take the time to see if someone is already using its name. That's just common courtesy.
Remember, "Internet Explorer" was trademarked before Microsoft got to it. They didn't seem to check, know, or care.
Hey, I was just remembering an old programming language fondly. When I realized it might not be the same one, I was disturbed. It seemed to bother you a lot more, though. Chill, dude.
---
pb Reply or e-mail; don't vaguely moderate.
pb Reply or e-mail; don't vaguely moderate.
OSCo won't be going away for a while though: they still own the only viable desktop gaming platform (note the use of the word viable). And of course the whole NGWS/URP will run best on Windows.
--
Cheers
Cheers
Jon
"C#" is a poor name. Shouldn't it be "M$"?
Drop me a line at:
Key ID: 0x54D1D809
It seems to me Modula-3 (http://www.m3.org/) is functionally equivalent to Ada and otherwise a much better choice. Like Ada, it has generics, modules, threads, objects, dynamic typing, static typing, and explicitly unsafe modules, but it is a much simpler language than Ada. There are multiple free and commercial implementations, listed at the m3.org site.
means it will run on NT4# and Win98 TE (Third Edition.) Ask anyone at Microsoft and they will tell you that they officially support 5 operating systems (windows 3.1 and windows for workgroups were discontinued over a year ago)
but that wouldn't be as confusing and difficult to deal with. like the title says, "Typical Microsoft!"
for all practical purposes, no musician plays in c# anyway. maybe no programmer will write in c#- yeah right, M$ could release a new language called "c-crap" and cronies would drool.
The Intentional Programming stuff, though pretty cool, won't be a part of VS7. It's still several years away from being an actual product.
"C-store" -- used to store characters (or other 8 bit data) into an 8-bit Forth variable.
I don't subscribe to RMS's GNUtopian vision.
Keep in mind that Anders Hejlsberg, the architect behind Turbo Pascal and Delphi is now working for MS, and is the chief architect of WFC and C#. He likely has had a big influence on this. That's why I have much better hopes for it than I usually do with Microsoft's products.
Nope. From the Java Language Spec (section 12.6):
"Finalizers provide a chance to free up resources (such as file descriptors or operating system graphics contexts) that cannot be freed automatically by an automatic storage manager. In such situations, simply reclaiming the memory used by an object would not guarantee that the resources it held would be reclaimed."
One of the nice side effects of finalize() is that finalize() can make an object "live" again. So if (for example) you roll your own connection pool and wrap the JDBC connection objects in a custom class, the connection can return itself to the pool (making itself live again) if the programmer forgets to explicitly return it to the pool. I don't think a destructor can do this, but my C++ is getting rusty.
It would add the benefit of automatic recycling of resources allocating their object-counterparts _on the stack_. It would be independent on syntax-scope and object-scope. It could also give you the convinience of telling the computer _excactly when_ the resource and object should be destructed, while retaining the formalization of the constructor/destructor concept, instead of calling an arbitrary Close().
If you don't want an arbitrary name for the resource-returning method, then you can explicitly call finalize(). I don't think there's a way to explicitly call a destructor in C++, though once again, I am getting rusty.
I think what this debate comes down to is determinism. C and C++ programmers like the illusion that they really KNOW what is going on. Java programmers learn to deal with the fact that behind the scenes, there is some Deep Magic going on. I know what the Deep Magic is (I deconstructed and modified the JVM for a graduate research project), but I don't want to think about it 90% of the time. I'll trust the computer to know what to do.
It's like an optimizing compiler (which I've written). In some specific cases, you might be able to do better than an optimizing compiler, but in general case, you just can't. Apply that attitude to memory and resource management and you get how I feel about Java.
People who haven't programmed in C++ really don't know what they've been missing out of. This is to much frustration of many C++ programmers that do see weaknesses in Java. Yes, there are many weaknesses in C++ too, so don't take it personally.
I've programmed in C++. I've got a BS and an MS in CS. I've built compilers. I know programming langagues. My reasons for not liking C++ are academic, not political or emotional.
I don't take attacks on Java personally; as I said, I think the marketplace will bear out my opinion on this. What annoys me is people making half-assed claims that are patently untrue.
And stop calling people idiots, it only reflects on yourself.
I call's 'em as I see's 'em.
-jon
Remember Amalek.
Larry Niven fans will support my vote for TANJ: Tanj Ain't No Java!
Yes, but in the course of playing music a different thought process is involved with C# than is with Db. It's really subjective and really weird.
The nice point is that M$(R) allows them to continue their work on something that is open source and runs on Linux.
--
Industrial space for lease in Flatlandia.
Any others being left out?
${YEAR+1} is going to be the year of Linux on the desktop!
And an IBM guy said it - what a shame. IBM are heavily committed to Java, he should have known the following:
C# = C++ and some new APIs.
That does not make it Java. Javas APIs aren't its only advantage over C++. Garbage collection, stronger type checking, threading & synchronization support, exception handling etc. which are in the Java syntax, save developer time and raise the software quality.
I know this article is going to lead into a religious language war, but lets get this much straight - C# uses C++ syntax.
What I don't get is Microsoft talking about using a VM. What, are they committed to cross platform capability? Maybe it is the only way to get apps running on NT and '95 and '98 etc. easily. :-)
${YEAR+1} is going to be the year of Linux on the desktop!
...and with the penchant of developers to shorten everything, the language will become known as Coct. Which probably means the embedded version for WinCE machines will be half-Coct.
That's an interesting point. Of course, potential is not necessarily reality, but if Juice does have (or develop) a security model, it could potentially outdo Java in this respect too. I'll have to keep my eye on this technology.
---
Zardoz has spoken!
Oper on the Nightstar
No, you're an idiot because you are mouthing off with an opinion on a subject you are clearly not qualified to evaluate. I don't care how good your C++ is. You are talking about Java. You don't know Java well enough to know basic tips of the trade, and you think your opinion is valid. That makes you an idiot in my book.
You assume that because I choose not to use Java and dare to point out it's shortcomings that I am not qualified to have an opinion on it. You also feel the need to post inflammatory responses and attack me personally because I hold a differing opinion. In my book, that makes you not qualified to evaluate my qualifications.
Gee, being able to bill for Java work (or any programming work) doesn't take actual programmng ability, just the ability to convince a PHB that you know what you're doing.
No PHB's in the picure. Three person contracting company. Worked directly with (client's) technical staff. Helped them ship their products.
If you want your resources to automatically return themselves, wrap them in Java classes which return themselves during finalize().
That would be nice if I could have any assurances about when finalize() is going to be called. Java won't guarantee if let alone when finalizers get called. That is, has been, and will continue to be my beef (well, one of them actually) with Java.
Yeah, I do think that C++ is on the way out for a variety of reasons, including Java. If you can't see the handwriting on the wall, it's your own damn fault.
You are certainly entitled to think that. Sun would love it if everyone felt that way. Not everybody does. That doesn't make us idiots, nitwits, etc. As I said before, Sun has been screaming for 4 years now that C++. Rumors of the old girl's demise have been much exaggerated.
Again, I'm not trying to say that proprietary extensions aren't useful. They most certainly can be. Doesn't mean I have to like them.
I believe you are correct.
No correction of mine would be complete without another error.
Information wants to be anthropomorphized.
Hey moron, I never said I didn't understand that "#" is a musical symbol, just that for a lot of C programmers (in the US), # is usually pronounced "POUND" in a "C PROGRAMMING CONTEXT" (ex: "pound define" for #define)
Since this is sort of a "C" derivative language, I found it interesting. Are your neurons firing and making some sense now ???
Whoops, maybe not, you must be brain dead.
- sigs are for wimps.
I have yet to see a programmer say "octothorpe define" for "pound define".
Does anybody in slashdot remember C ???
- sigs are for wimps.
Attempt to embrace and extend C++? If that's the case, they're a few miles behind "everyone's" favorite c++ compiler, gcc, which has quite a few extensions to the language which are of course completely non-portable.
No, rather, I would see this more as the initiation of an attempt by Microsoft to discourage the development of Windows software that's easily portable to other platforms.
Sponge
I disagree.
I graduated from a computer science department where all development was done on Unix platforms with traditional command line tools. When I started going to job fairs my senior year, I noticed that a large number of companies were advertising for developers with experience in Visual Basic or Visual C++. Frustrated, I asked my advisor why our programming classes used g++ instead of Visual C++ since employers seemed to want employees with experience with visual tools and M$ discounts their products for universities.
His response was that a good computer science curriculum should teach programming skills, not tools. The tools and languages that are "in vogue" change from year to year, but the same programming fundamentals apply to all technologies. Teaching students programming using Visual Studio or another IDE focuses too much attention on the tool and not enough on the practice of programming. Visual tools also abstract away low-level concepts that are important for a complete understanding of how programs work. Any developer with a good understanding of programming can learn a new tool; a person who does not grasp the fundamentals of programming will have trouble adapting when the "new new thing" comes along. With the dynamic nature of technology, a CS program should teach how to learn new technologies, not the technologies themselves (ex. Instead of teaching C++, teach students about Data Structures and have them prove they understand the concept by using them in a C++ program.)
After being in the "real world" for a while, I have to say that I agree with everything my advisor said. I have seen coworkers of mine who learned on Visual tools struggle when problems arise in low level or server side code. When my department announced that new development would be in Java instead of PL/SQL & C++, many of my coworkers who were trained in those technologies were concerned about their job security. My coworkers who had mastered the fundamentals of programming were not at all concerned -- they were saying things like "I'll pick up a book on the way home and learn it over the weekend."
Yes, graduates who already know Visual tools may be more productive in the short term. When you look at the "big picture", however, universities do a much bigger service by teaching traditional programming.
My 2 cents.
When violence rules the world outside / And the headlines make me want to cry / It's not the time to just keep quiet
Don't know if the projects are related, but there's been a language called C-- at least since 1995. It's basically just x86 assembler with a C-like syntactic sugar. It was used to create the security software I use in my lab.
The original page seems to be long gone, but you can download the language and docs here.
Graham "Teach" Mitchell, computer science teacher, Leander HS
i thought i told you to stop reading already.
I post as myself because I stand by what I say. That AC post above wasn't mine, but I don't think it deserved what it got. I got hit with a troll mod, too.
-jpowers
-jpowers
..last post?
Mr. Last Post
Overloaded operators is an incredibly ugly feature of C++, one that I am glad is not in Java. It goes against the idea of maintainability. It is a lot clearer to see what is going on with plain method calls than with overloaded operators.
"People should get beat up for stating their beliefs" - TMBG
This is just the price for their new system in the UK. C# is obviously meant to be read as "100 Pounds," they just couldn't find the pound symbol on their keyboard.
According to what I read on news.com, this is supposed to be a platform-neutral language. Now, that would seem completely ridiculous coming from Microsoft, but the general idea seems to be that instead of losing developers to Java, because it's easier, Microsoft will give them a native, compiled language that is almost as low-level as C++, but as fun and easy to write as Java...
Sounds cool to me. I've often wished for a Java-like native language when I need a native program.
-thomas
C-- is intended, as the article suggests, as a "portable assembly language."
There actually are some implementations available in source form.Microsoft may produce some software of frightening quality, but that doesn't mean that the people that they hire are ignoramuses, but merely that:
If you're not part of the solution, you're part of the precipitate.
It turned out that it was just COBOL, with some code removed. The mainframers loved it, but it didn't fly too well with anyone else..
_________________
JavaScript Error: http://www.windows2000test.com/default.htm, line 91:
Oh great. Another name which will be useless with search engines which strip punctuation...
Sigh... I guess I should just be thankful they didn't call the language "A" or "I".
Yet again, Microsoft misses the point completely. Visual Basic is a success because people *already know BASIC*
There is a wealth of example code available, as well as a high number of people who can teach it. The same is true for C, C++, Cobol, and others.
There is very little reason to use this new, unproven, and untested language.
Portability will be totally non-existant.
With the anti-trust lawsuit, there is no way to tell if 'Applications Microsoft' would continue the product after a split.
I expect that the success of C# will be at best similar to that of ActiveX.
More likely, it will totally flop.
This sounds almost like java set up to have C keywords in it. Which, if you have studied many of the C family of languages, is usually the case with anything other than C/C++/C--.
Eh...
That means it will run on Win95, Win98, WinNT, Win2000, WinCE, and WinMe. That's OS independent to me :)
Everything in this post is false.
Netscape Navigator
Internet Explorer
Java
ActiveX
JavaScript
VBScript
Java
C#
</rant>
I guess MS does have a marketing niche with this thingy. I'm thinking Java or C/C++ developers from other platforms who are flabberghasted by the legacy Windows API and therefore don't want to use VC, but who are too proud to use VB for occasional coding.
What I'd really like to see MS ship is a truly simple BASIC for non-programmers. Something like GW-BASIC (sigh), but with an updated command set for multimedia stuff to keep future geeks interested.
So C# could also be pronounced "C Hash", or simply "Cash".
Methinks it's the same guys who named WinCe...
Recursive: Adj. See Recursive.
From the article: "It [c#] provides operating system independence (which Java provides), but it also provides language independence, which Java can't provide."
Okay, I'm not a programmer. Can anyone explain to me how something can be both a "language" and "language independent" at the same time? Seriously, I'm not trolling here, I really want to know what this means.
.- CitizenC (User Info)
The JVM was created to support the Java language, but there's no reason that you must use Java to write for the JVM.
In fact, many other languages have been written, compilers to target the JVM bytecode format. Also, the JNI (Java Native Interface) grew out of Netscape's support for C APIs to call into, and be called by, JVM bytecode.
I wonder if Csharp/Dflat/Chash/Cpound/Coctothorpe might be targeting Microsoft's JVM implementation, which has gotten good grades on speed, or if it really is a whole new virtual machine.
Microsoft doesn't appear to be claiming that the new language is free from entanglements with the operating system. In fact, if their "C#VM" were to make it easy to use COM/VBA automation, and to use native C# programs as clients and as services, it could be a win for them.
I think they're missing the mark, though. Sun's reluctance to allow their JVM to be managed by an outside standards group, and Microsoft's reluctance to follow outside de facto standards, both played to this announcement.
[
This situation is similar, but on the server-side. It must kill MS to see the enormous success of Java on the server-side. Very likely, C# will attempt to steal some of this market away, but can it succeed? MS seems to be doing miserable in the server market, so they won't have nearly the leverage they had when they invaded the browser market by pre-installing IE. Oracle, Sun and IBM are ruling the server-side right now and Microsoft is the underdog. I predict that this product will not be an overwhelming success.
Multiplayer Strategy
I program for a living. I realize that C++ is faster and cleaner, and yada yada yada, and I actually prefer to program in it. However, the last time I wrote a fully featured, robust application in less than a week(graphics automation, like debabelizer) it was in VB. Realtime code debugging, kick ass UI development and tight system integration make Visual Basic incredibly useful for developing on windows. Ease of development for windows is a powerful selling point, because, despite the chest-pounding that goes on about linux, %98 of the world still uses windows. I don't care if you trash talk microsoft, but honestly, sometimes they can produce quality (or at the very least ubiquitous.) work. I rambled, I know, but I had a point starting out...
*everything* is Orwellian to cats.
Why not Very Asinine Generally Incompetent New Language?
This consulting company is going to make a lot of money.
At a glance, i thought 'Lazar' was 'Lars' !!
And do not forget, c sharp is the same note as b flat!
make of it what you will.
Tom
Reality does not happen until you analyze the dots. -Don DeLillo (Underworld)
I always thought that the "#" in "#define" was silent.
The article seems to say that C# will be platform independent. While it was hard to see through the marketing haze, it looks like M$ may be offering a VM for executing C# code across a variety of OSes and even processors.
This seems self-defeating for the Microsoft of today, since it makes developers less reliant on windows (but more reliant on M$ compilers). Theoretically, though, this could be the flagship product of the "applications company" that may be created in the Microsoft split. When you can't have a self-perpetuating monopoly in the OS feild, you can simply create one in the language feild and have basically the same situation that you started with: An applications barrier of entry caused by proprietary software.
Then again, the M$ definition of "portable" may mean that it will compile once and run on Win9X, WinNT, and WinCE (x86 version only).
Anonymous Luddite: "What do you think of the dehumanizing effects of the Internet?"
Andy Grove: "Not Much."
I would call this the "extinguish" phase from M$ for Java. In reality, they are not extinguishing Java but instead they are extinguishing their own credibility with respect to programming languages.
Believe in things of which no person has ever learned
(not that any corporate boot-lickers would admit it...)
In case Microsoft didn't notice, there is/was an implementation of C sold under the name C Sharp. It is for 68x family processors. I have a copy, bought in 1984. I wonder if the copyright is still valid.
at least it is not called c-colon-backslash. that would be one for the ages. just imagine the headlines "Microsoft kills its new language in just three characters!!!"
I was thinking of how to intentionally fail my drug test... It would make a good memoir story someday.
Really, they shouldn't throw 'em up so easily. With a softball like that, I can just see the headlines:
C# Falls Flat
Microsoft hits a sour note
and so on. Perhaps they took the view that smart people wouldn't even touch the easier ones.
(See, e.g., http://www.stokely.com/lighter. side/unix.prank.html.)
The 'language agnostic' thing is nothing more than a universal virtual machine. What they're saying is that JVMs can only run Java, but their runtime will run C# and anything else. They're assuming that nobody has noticed that JVMs can run python, scheme, prolog, and jeeze what else?
The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...
...none of the other vendors has the clout to do it M$-style, or their own dominant OS to lock it into.
As for the Ob. Recursive Acronym, I propose BINJ, unless you're a fan of Vernor Vinge, in which case you might prever RINJ, SINJ, or (esp) KINJ.
Yo dawg, I heard you like the Ackermann function, so OH GOD OH GOD OH GOD
which one of the Baby Bills gets the IP?
>c sharp is not the same thing as d flat. ask someone who plays a fretless string instrument.
Of course, it all depends on where it goes in the chord, too...
"It's tough to be bilingual when you get hit in the head."
How about Ganja AiNt JavA ?
Great, another language whose name is wholly unparsable by most search engines. They should name the language "+sex +porn", then they'll get plenty of hits on Altavista right off the bat.
It is fairly certain that they wont be taking the standards of this language and perverting them.
The only question is, will they want (ala-AIM) open standards?
GPL'd web-based tradewars themed space game
yet another kludge
old ideas becoming new
through # defining
c# -- a wrap of
15 year old libraries
macros everywhere
Microsoft again
finding more ways to abuse
the preprocessor
Uhh, it sounds to me like this is Windows-only. What the hell are these guys smoking? It runs on Windows 98 and NT 4 and 2000, so that makes it OS-independent? Unless Microsoft ports it so it runs on Linux or Mac OS X or something, I don't see how anyone can call it OS-independent.
G# anyone?
--
$x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
$x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
Well, darn it! I jumped the wrong way yet again. Microsoft came out with Windows 3.x, and I went with Desqview. Then they came out with '95, and I went with Linux. Windows 2000 came along, and I started using FreeBSD. And now that I've started learning Tcl/Tk, they're coming out with C#.
Darn, darn darn. I just can't seem to pick the best technology no matter what I do!
Oh, I know! I'll just do whatever Microsoft tells me to do. Yeah, that'll make my life better.
Gosh, I'm so lucky to have Microsoft's marketing department around to tell me how to live my life. It's a wonderful time to be alive!
OK, a bit of an over reaction. Also, I confess. I didn't read the article. The linked story seems to describe this as more of a VM than a language, and who knows, maybe it will even be possible to write C/C++ applications with it and wrap most of the MS-specific function calls. That would actually be something I've been looking for.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
In the treble clef, C# is indeed Dflat.. not quite sure about the bass clef, but most instruments play in either one of those clefs. pi=3.14 except in different realities.
--
Insert Witty Sig Here
# = "hash"
Therefore, the language is called "C-hash", or, perhaps more appropriately, "CASH". As in, "This is a stick-up. Gimme your CASH."
That's "Mr. Soulless Automaton" to you, Bub.
Really, a C++ smart pointer class is a trivial thing to write and gives you all the same advantages. I wrote one in 100 lines a few weeks ago and it works just as well as Java's garbage collection. The article seems to suggest that this is one of C#'s greatest features. Hmm, kinda like W2k having that "symbolic linking" thing.
------
How is creating a new programming language that's 'similar' to java "embrace & extending" it? Java is similar to C++, did sun "embrace & extend" C++?
ReadThe ReflectionEngine, a cyberpunk style n
The thing is, Microsoft has a whole helluva lot of developers across the world who are willing to jump through many many hoops to get access to the Windows platform. Sheer numbers of programmers at MS itself, alone, will give the new language a head-start. Combine that with programmers who have no major opinion about Microsoft (they exist, think India) who would be willing to try the language, assuming it actually provides the functionality of Java AND C++, and you have another market moving jump by the boys of Redmond.
Paradox !-)
Microsoft is attempting to do some very unkind things to the C++ language as well. They're calling it "Attributed COM+ Programming" but what it amounts to is a heinous assault on the C++ language. As a user of Visual C++ I'm more than a bit concerned about this.
Code snippet:
Other "attributes" will be added to support COM, IDL, and OLE DB. My favorite are the Compiler attributes which will
See for yourself.
What about Raja? As in, Raja Ain't JAva.
pooptruck
One of Microsoft's claims about C# is that it will allow "developers (to) access any hardware and software." C# provides "complete access to (the) underlying platform." At the same time they claim that this is a "web development language". Imagine , if you will, a poorly programmed piece of code that has vulnerablities in it. The kind of exploits that C# allows for (in concept) are on a different level entirely than the one's we see now. More access to hardware + a web language == A Bad Thing.
And I don't even have to mention that the evironment (at least initially) that a C# program would run in would be written by M$ (motto: 64k is enough bugs for everyone). Remote root exploits galore.
Goodhew added that C# allows "developers (to) access any hardware and software." C# provides "complete access to (the) underlying platform."
Hmm, "complete access to the underlying platform". It sounds like VB script viruses will now be showing up as C# viruses on all platforms. Never install this runtime environment on your Linux / BSD boxen.
-----------------------------------------------
C-octothorpe?
What do you expect for a reply on virgule-dot?
That's exactly my point !!! It seems there are a lot less C coders on slashdot than I tought.
- sigs are for wimps.
...it should be good enough for everyone!
[ sorry, but if you're going to sign that post like that, it's just begging for that sort of reaction ]
DNA just wants to be free...
Let's remember that Microsoft is primarily a marketing company. They convince managers to buy their products, then the managers make their subordinates use them. Microsoft succeeds because the people who decide to buy their technical tools are not the people who have to use them.
What can we expect? Well, note first that we don't know when C# is coming out, and it probably won't ship any time soon. This is standard industry practice (not limited to Microsoft, but particularly useful to them): announce vaporware so people don't commit to a competing platform.
Then they make key parts of Office and Windows that work best with C#, and that may not work at all with anything else (except VB, of course). All the while, they sow FUD about Java and everything else that might compete with C#. There will probably be lots of advertising with simple bullet points for the PHBs.
And eventually we're all stuck with it, regardless of whether it's any good. It's happened before.
Now, the above notwithstanding, I want to stress that I don't really think Microsoft's doing anything particularly immoral by doing any of this. As far as I'm concerned, they have an absolute right to make their software work any way they want, and if their business model involves closed standards and secret APIs, well, that's up to them. But it infuriates me endlessly that IS managers insist on wading ever deeper into the Microsoft tar pit, happily promoting Microsoft's business model over the needs of their own businesses.
...because I'm pro-Windows will now be shocked. Here's what I have to say: GO AWAY.
Don't want another syntax. Don't need another syntax. Like C. Like C++. Hate most everything else.
Why? Two words: Content obsolescence. That's all Java ever did for me. Great... another language to learn. Blow me. Take your C-# (c-pound) and POUND IT.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Hey someone already has the trademark on C Sharp. Just ask Al Stevens of Dr. Dobb's Journal.
Y'know, it may be time we came up with a clear delineation between a post like this and a real troll-post. It's a short, sharp reply to the post above it. It states an opinion which is on topic and relevant to the discussion, even if it offers no support for that opinion.
If it hadn't been modded down to -1, would it have started a thread of more reasonable posts which would have considered the circumstances and motivations surrounding M$ new programming language vs. those surrounding Sun's development of Java? Those of us who read at -1 have seen it happen.
Is stating an opinion about some language, OS or company really trolling? If this guy posted a comment that said "MS sucks" or "Windows sucks" and got modded down -1 flamebait, I could understand, but whoever this AC is, his post is at least on topic and relevant. He didn't post it 500 times in a row, and he didn't craft it to look like a normal post only to change halfway through to a post about NP or grits or whatever. I don't think it's a troll.
-jpowers
-jpowers
The new language, expected to be called C# and pronounced "C sharp," is a hybrid of C and C++, two of the most popular programming languages used by software developers to write applications for the Windows operating system, said Tony Goodhew, a Microsoft product manager.
Correct me if I'm wrong, but isn't C++ a superset of C, and therefore C a subset of C++??? Why is it every C and C++ programming book I've read told me things like, "If you know C, you already know a good deal of C++" and why do all my C programs compile under C++ compilers?!?!?!?!
Hmm, something a M$ developer said contradicts my six years of experience, I guess I'm wrong...
Matthew Miller,
"Live Free or Die." Don't like it? Then keep out of the USA
How is Microsoft's decision to "embrace and extend" C/C++ in the form of C# any worse than Sun's decision to "embrace and extend" C/C++ and call it Java?
I agree, and you are correct on most counts. It is not actually sun's 'extension' of C++, however, that is the issue, as much as their continued insistence on control over the language.
That is a very M$ish move in and of itself. M$ have historically given away development tools but retained control of the language, thus bringing many new developers into their fold.
I've flat-out given up on moderation. I just spend most of my slashdot time composing OMM-esque flames. I think the permanent moderators must not use up mod points, because the 'late stage' moderation has gotten extremely heavy handed lately. If you want to be moderated up, just use any three-syllable technical term and don't ever, ever make a snide comment. All snide comments, no matter how true, are flamebait.
Have a nice day,
--
anony-blue
i browse at -1 because they're funnier than you are.
Um, no, it isn't. In equal temperment, its the same note as d flat. However, real musicians, eg, those of use without frets, know that c# and d flat are two different things.
A well-crafted lie appears unquestionable - Dama Mahaleo
Is it possible that when a company gets so big and bloated from having their hands in too many different sectors of computer technology that the marketing dept. stops paying attention to what they're really selling, and just concentrates on getting more product to market?
Here's what I see happening. Some smartass engineer is sitting in the depths of the dungeons in Redmond (which I hear are very nice actually) and decides he's gonna be funny. "Lets create another cross platform language. This will give me something to do for awhile without having to think up something really innovative" (This happens, not all engineers do it, but some do) So him and his buddies write this knock off of Java, pass it on to Marketing, sit back with a case of ale and laugh their asses off when the PR department sends out press releases like the one we're discussing today. I mean, why the hell would MS give a damn about their new language running on multiple platforms. They don't want multiple platforms. (yeah breakup shamkeup. If/when it happens this C# thing will be a long forgotten BOB for both companies)
Do the real employees at Microsoft (last I heard around 22k) really take the corporate monster seriously anymore?
Paul Bryson
"The shortest distance between two spoons is irrelevant.
-pB
Sounds nice, but what are the performance costs? Seems to me that even detecting circularly linked stuff would be expensive, but then I don't know too much about the details of how that is done, so I could be wrong.
------
For example, CodeWarrior is only for MacOS and Windows (the Linux port wasn't finished, IIRC). However, it can be used to write Java, which is multiplatform. Visual Studio is not multi-platform, but it can be used to write HTML, which can be multiplatform.
--
The question isn't "Do we need another language", it's "Do we need another proprietary, incompatible language". Microsoft has given the word "reseller" a new meaning.
I would LOVE to have a C-like language that didn't have the limitations of Java. Java is not an appropriate replacement for C for system programming. For example (my biggest peeve), Java lacks an unsigned data type.
The industry really, really needs a native compiled language between C and C++. At one time, there was an effort by C standards committee to produce a "C with classes" language as a successor to C. It wouldn't be as complex as C++, but would try to include the best aspects of it. Unfortunately, that effort died.
I think it would be great to have a language for system programming that was cleaner that C++ and without the limits of Java. People talk about native compiled Java, but let's face it, the language is very tied to the JVM. It is not designed to be a system programming language like C, with it's non-specified sized data types, non-defined byte order, etc that you need for maximum efficiency.
Only people who don't understand the differences between Java and C++ could possibly see this as a competitor to Java.
I would ask people to not condemn it just because it's from Microsoft. Let's wait to see what pops out. Let's face it -- there are few companies with as much experience with OOP than Microsoft.
--
Sometimes it's best to just let stupid people be stupid.
Wouldn't it be good to wait until the language is actually unveiled before you bash it as "crap"?
You're new here, arent you?
They don't think.
Viz: "WinCE".
Not bad. Has a certain ring to it. :)
Sam: "That was needlessly cryptic."
Max: "I'd be peeing my pants if I wore any!"
Reading this article makes me think a little about commercialism, gaining competitive edge, and the computer industry. The thing I like about open source is, although there are ways to make money in an open source world, the focus is to develop a better computing environment for whoever wants it. Java was focused on this to a certain extent, and MS' creation of windows specific apps completely runs against the grain of it.
:)
Who knows...maybe commercialism will win, but maybe open source will win out and be the start of something bigger. Maybe the concept will catch on in other areas/industries. Maybe its the first step to a Star Trek like "United Federation" where there is no money, but plenty of replicators, and everyone can have what they needed at any time
C# is Db. Always has been Always will be. Trebble clef, bass clef, tenor clef and alto clef.
Cb {c flat) -- it seems much more appropriate, since it is destined to fall flat.
It's c-like and Java-like? Here I was thinking java is like c. So to me, c# is like c.
Also, a music metaphor is simply a stupid play, especially when we are programmers, not musicians.
If I recall correctly, M$ made a visual J++ that was their version of java. It didn't involve an analagous transformation like c -> c++ (objects) but rather a closer tie to the M$ paradigm.
Since "innovation" and "plagarism" seem to mean the main thing when M$ is concerned, I guess they didn't consider this an issue.
Didn't "cool" stand for "C object oriented language" or some rubbish?
I'm certain we could find some epathet for this one too, ala "wince"...
All the same, I'd rather call it cb
Lowmag.net
Right, it's apparent from the article that this language (which I have chosen to call C-Pound ;) is an attempt to "Embrace & Extend" C++. Which, really isn't necessary, but hey, we have to cut them some slack -- dirty tricks are the only games Microsoft knows how to play.
Er... what?
Stroustrup has approved the language by the way. Just thought you'd like to know.
You might find out why if you compare C# to some of Stroustrup's bitch list in "The Design and Evolution of C++"
Simon
Coming soon - pyrogyra
Don't forget that if you want the database tools, you must purchase the Enterprise Edition.
They actually pulled this with VisualStudio 6.
You know, the one that had the next version of InterDev 1.0, called InterDev 6.0
Wrong. It's "D"
I'm really surprised that M$ didn't use that as part of their propaganda: "It's the next step up from C"
By the way, I thought of that, and I'm releasing it under GPL. So there, Bill...serves you right for retiring my MCSE two days after I got it.
They should have called it "Microsoft Language" to go along with all their other boring product titles!
The basic description sounds like they're trying to reinvent PHP.
From the PHP-FAQ:
Much of its syntax is borrowed from C, Java and Perl with a couple of unique PHP-specific features thrown in. The goal of the language is to allow web developers to write dynamically generated pages quickly.
While the CNET article doesn't mention Web scripting, where else does this "C#" go? VB and VC++ are used primarily for stand-alone apps, while MS only has VBScript and JScript. Do they want to establish a wholly new server scripting language? Considering that classical CGI is impractical on NT/2000, server-side scripting is the only niche they can exploit. Given the wealth of tools available in the UNIX/Linux world, it'll never be popular there.
In fact, I'll bet that this new "language" will resemble BASIC (or maybe even FoxPro) in syntax more that anything else. Maybe it'll use C++ and JAVA functions, but it'll never be called innovative by anyone familiar with the industry.
As far as being a JAVA killer, developers should not forget that being familiar with multiple platforms makes you a more valuable programmer. The Microsoft world is just one of many worlds in the UNIXverse (couldn't resist the pun). It'll be just one more thing the MCSE, MCD and other MS cult members will get certified in only to watch it fade away in a couple of years.
Goodhew added that C# allows "developers (to) access any hardware and software."
Yes!!! We can take over MS with their own language!
MSFT may be making C#, but really it's Cb (C-flat) and intended to make them C$. All the same time it's making programmers who have to deal with the crap they turn out C@#$%! Same 'ole Microsoft.
This article seems to claim that C# is a reaction to Java as programming language for the Internet. But this can't be right, because although C# (and other languages to come) will run on a Universal Runtime Engine, this 'Universal' blob only runs on Windows. What this really sounds like to me is a version of C that acts like PASCAL or BASIC. If this is a reaction to anything, then it is Perl or Python.
I think it would be a great idea to be able to use a dialect of the same language for programming, scripting, and CLI: C, C#, and csh , whatever that language may be . . .
A step up is two chromatic notes higher, which would be D.
(The major scale is whole step, whole step, half step, whole step, whole step, whole step, half step.)
My degree is in music, so naturally my career is in computers. :P
Information wants to be anthropomorphized.
If it is C++ without that MFC gorilla standing on its sholders I'll go for it. (or did I just describe Borland C++ Builder?)
Bad User. No biscuit!
You've expressed a common misconception that I think is worth correcting. I'll follow this with an opinion.
Fact:
Reference counting is NOT the same as garbage collection. Reference counting cannot collect circular data structures that have been disconnected from the program's active store (like a circularly linked list or a graph).
Opinion:
Garbage collection is a really nice feature for a language to have. Since I program in ML (my favorite advanced programming language), I never have to deal with memory errors of any kind, ever. Garbage collection also opens the way for type-safe languages, so that we can write programs which are guaranteed not to crash. This is another really nice thing (also supported in ML).
Some excerpts from the article:
This is not a response to Java
(Common Language Runtime) increases the openness of Windows.
C# is "not presented (by Microsoft) as a Java competiton"
Just when we are on the verge of having a very high quality free desktop operating system and office package combination (in the form of KDE/GNOME, and all the various office suites). Coincidence? Maybe MS has given up the idea of controlling the desktop. If their losing it is a forgone conclusion, why not focus on taking over the server market.
Unix still has a good share of the server market, but I can see this changing if we are not careful. How? By introducing products like their "BizTalk 2000", they effectively create defacto standards for e-commerce. Sure, it's all XML driven. Sure Linux apps could read it and maybe even talk to it. But so what? There are no linux apps that do it because MS won't write 'em for Linux. That's the point. If I'm running a business, I want to be compatible with the other businesses. I want to be able to talk to them and do business. So I'm going to run what they run. If MS leverages their current server market share to covert it to e-business server share then they will create the defacto standard. Linux representitives will have virtually no say in this new area.
It seems Microsoft has been busy! And I thought all their time and money was being wasted fighting the DOJ.
I think whoever wrote that was a little confused; but what I think MS is saying with this new NGWS platform is that it will play nice with other platforms (could just be wishful thinking on my part though).
They have a message passing system called SOAP (Simple Object Access Protocol) which sends XML messages accross a HTTP link. I believe it's the same sort of thing as CORBA or DCOM (Remote Procedure Calls and so on) but easier to use. Now, since most programming languages have no trouble with XML and HTTP, any language would easily be able to speak the protocol. Also, XML is by its very nature Open Source of course.
Now, for some speculation: I think that Web Apps and other internet services are going to be a big part of the new platform, so they want other languages to be able to use their internet services (even Linux users) they'll charge for their services of course.
Overall, I think C# will have to find a niche to be successful, and I certainly don't think that niche will be scalable, web-centric systems. Java's greatest weakness is it's performance on the client side. Maybe there's room for another cross-platform language there, but then AWT and Swing are fairly entrenched.
BTW - Anybody notice how the article lied about the Sun lawsuit? Check it out:Now that's BS if ever I heard it. Microsoft could easily update its Java products at any time, so long as they honor their contract with Sun and make them JDK compliant! But instead, they decide to kill what could have been a great product and put something else out instead.
If you put a racing saddle on a jackass, it's still a jackass...
"You done taken a wrong turn."
-Bill McKinney, in Deliverance
/. 's already been slapped by MS lawyers for providing links to proprietary MS stuff.
nal 11
Simple, the marketing rep who wrote the press release was confused.
If Microsoft was serious about cross-platform portability, they might have taken a page out of the Pascal, Java and Python playbooks, by compiling C# down to a binary for use by a virtual machine. It's language independant, because /other/ language compilers can compile to the same bytecode.
There is a Python dialect that does this, called JPython, that uses Python for the programming language, but compiles to Java bytecodes. There's no reason we couldn't have a Python#, as well, aside from that awful feeling in my stomach when I think about it.
Weapons of Mass Analysis
D'oh!
D flat is the correct answer. guess ido not win the ginsu knives?
tom
Reality does not happen until you analyze the dots. -Don DeLillo (Underworld)
...or NT or Windows 2000
--
Fuck the system? Nah, you might catch something.
--
Are you kidding me? NINJA!! Ninja Is not JAva
It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.
" C#" rhymes with CRASH!
I see blue already
134340: I am not a number. I am a free planet!
How can a language be language-independent?
OS independence does sound good though. I bet it'll run on each and every OS supported by Microsoft!
No, though there are no doubt many joke languages called C--, the "real" thing is a portable assembly language used as an intermediate language for compilers.
A quote from the article:
Goodhew added that C# allows "developers (to) access any hardware and software." C# provides "complete access to (the) underlying platform."
Great... I get to open up all my devices to the web... how secure is that? How am I supposed to know if I should grant or deny when a box pops up that says:
This web application has requested access to your hardware. Would you like to grant it? (y/n)
I mean, I could "just say no" -- but then I might miss out on a jolly tune! WTF?
I can smell the viruses brewing from here.
Another quote from the article:
It provides operating system independence (which Java provides), but it also provides language independence, which Java can't provide.
"Language Independence"? That statement is a bit vague -- so I am not sure what this guy is trying to say, but if he is talking about i18n, he is just wrong! Not only does Java have i18n support, but it would also be trivial to implement in any language that didn't. What the heck does this guy mean?
How do I shoot myself in the foot with it?
k.
--
"In spite of everything, I still believe that people
are really good at heart." - Anne Frank
"In spite of everything, I still believe that people are really good at heart." - Anne Frank
Well...C++ doesn't allow assignment to a NULL pointer, so
void * NULL;
NULL = (void*)0
technically shouldn't work, even though it does on _every_ c compiler I've seen, inless ANSI_STRICT or some such is turned on.
great, let's do what EVERY other vendor on the planet does, and say it's a brand new innovation! we invented a new language!
but seriously, I'm sure they have enough *value added* features to make sure it's not compatible with C/C++.
elements of java probably means that class definition and decleration will be combined.
Embrace and extend, jam our solution down so many throats it becomes the new Food(tm) standard...
This is precisely how they got bitten before and if they want to add yet more weight to all the arguments for something radical and painful happening to M$ then by all means let 'em do so.
# human firmware exploit
# Word will insert into your optic buffer
# without bounds checking
I had a
Certain patterns of memory access get better performance under one or the other scheme. Mostly you'll see best performance with down-and-dirty machine level stuff (C/ASM), as usual.
Most garbage collectors work by sweeping over the active areas of the heap, and copying anything which is reachable. So, the cost is linear in the amount of memory you're using (it never really detects circular structures; it just never copies them).
But consider:
My current area of study is programming language/compiler design, and I can testify that practically nobody publishing in journals these days cares about "old fashioned" ideas like C. Basically everything we know to be done to optimize C code has been done to death. "New fangled" languages are the future (er, duh). Mainly, these languages are built around elaborate type systems, which give the compiler and programmer a way to reason about a program without running it. It's lots of math stuff that sometimes gives the compiler the ability to make optimizations that would be impossible in C (because more is known about the way the program behaves while compiling).
Home-brew memory management (malloc/free, new/delete) are unfortunately a big problem for these static type disciplines, since the contents of memory is very dynamic. Garbage collection lets us design these type systems more easily, and gives us more power.
So, not only is garbage collection extremely convenient, it also enables other really nice language and compiler features, some of which can speed up your program even if GC slows it down.
dirty tricks are the only games Microsoft knows how to play
Well, there is that Minesweeper game...
--You will rephrase your request for me to go to hell. Goto statements are not acceptable programming constructs
They should have named it after homers barber shop quartet...
D-Oh
So it's designed to run on a completely cross-platform VM, and they will openly license it to anyone, for free? Cool! Way to innovate!
SOmehow.. I doubt it..
Some people think Java is what C++ should have been, O-O without all (or most) of the problems.
I would tend to agree with you... but there was once a time I had thought "Netscape has too much market share to be supplanted by IE."
If MS makes it through the current suit unscathed, they will find a way to bundle C# with something fundamental, and lock Java out of it.
That your grasp of Java (and garbage collection) is rudimentary is made obvious by the forgoing statement. Out of fear that there are other's who disparage garbage collection for lacking destructors let me throw this into the thread.
Using a destructor in a garbage collection scheme would be like writing top level functions under object orientation. Like C++, yes. The point, though, is that the collector takes care of your allocated and unused memory on the fly without interference. And while it feels weird to create objects and then leave them to be collected when you start Java (or other GC environments) the idea is that, much like the register directive, delete is a thing of the past; the machine should know best how to deal with it.
Finally, the result of run time checking and garbage collection is a debug cycle shorter than the coding cycle. And even though you might disparage the specific implementation, that's a result that's very very nice.
To be sure, I code a lot more in C++ than Java, but that's because I'm looking at final run speeds, not development turnaround.
Ushers will eat latecomers.
IP is just rude.
Is there any torture so subl
How is Microsoft's decision to "embrace and extend" C/C++ in the form of C# any worse than Sun's decision to "embrace and extend" C/C++ and call it Java?
You should reread the article. They aren't contradicting themselves; other people are contradicting them.
Python is best suited to scripting because of the run-time penalties involved in interpreting it. Though a compiler could probably be built, it would perform pretty badly.
Insistence over control of the language!@?!?!? Didn't they invent the language? Does GM give its' cars away for free? Why do they not have the right to control the language? I am not for or against Sun and/or Microsoft. What I am against is the fact that every post on this site seems to say 'You have no right to control what you invent if we like it'. If you don't like their control, don't use it! Use something else! Just stop whinning
Ooo... so close, but not quite right.
You are more right that the person who is insisting they are not the same on "non-fretted" instruments.
Tonality of notes used to depend on the scale you were playing, and the position of the note within the scale. All notes were perfectly tuned relative to the tonic note, or "root" of the scale. The problem with this was that an organ tuned to play in the key of G-sharp would sound badly out of tune if played in the key of E-flat.
During the baroque era, the concept of the "tempered" instrument came about. Octaves, fourths and fifths became universal across the keyboard, and the seconds, thirds, sixths, and sevenths were all tweaked so you could change keys and still have a perfect fifth sound like a perfect fifth. Tempered keyboards were not perfectly in tune in the traditional sense, but the change was needed to meet the demands of modern compositions.
When the means to measure sound frequencies came about, things were locked down even tighter (which is why "middle A", the second fret on a guitar, is often called "A 440).
Today, C-sharp and D-flat are played with the same key on the piano, same fret on a guitar, and are generally considered to be the same note... However, in the context of a performance a good musician will adjust the pitch of the note ever-so-slightly to fit with the intonation of the ensemble and melody (if they are singing or playing an instrument that allows it).
So to sum up... yea, it is the same note spelled differently - most of the time.
Information wants to be anthropomorphized.
C sharp is the enharmonic equivalent of D flat. Which is probably what I'll end up calling this language.
"Beware he who would deny you access to information, for in his heart he deems himself your master."
Perhaps their plan is to get the language into mainstream use, then in a few years, start asking for patent royalties... Judging from MS's other practices, it'll be easy for them to "make it in developers' best interests" to use C#.
In order to make an apple pie from scratch, you must first create the universe. -Carl Sagan
The problem here isn't that MS is ushering out another powerful programming language. It's that the language is going to be targeted as a cross-platform (sure...) internet language. And we don't like web pages that can control our hardware. Yes, this is up to the implementor (MS), but if they create a VM that can access hardware, look out. The language isn't the problem here.
The whole language reeks of Embrace, Extend, Extinguish. But in a different way. Java is based on C++, but simpler. It has garbage collection, and is fairly secure (how many java exploits are there without MS?). And C# is almost identical on paper, with vapor-improvements like 'better' security and garbage-collection.
Why not just use Java? It's powerful enough, widely accepted and cross-platform...hell Vampire: Masquerade is programmed in Java. But for MS, that would be admitting defeat. And they think they can do better. I don't think they need to.
Remove the NOSPAM to spam me...
Don't old UNIX hacks refer to # as "splat"?
We should pronounce this new language "C splat".
But I thought MS decided not to move north to British Columbia...
JPython doesn't compile python to java bytecodes. Well, I suppose it does, sort of, in the end, but not in the .java -> .class compilation that people think of.
JPython is a Java implementation of the Python interpreter. Rather than running on Linux or Windows or [foo], it runs on the Java platform.
The fact that you can use Java classes like python classes is kind of a neat feature, though.
pooptruck
Hey, it could happen.
Is this their responce? Move to a new language?
"No, sir. We won't fix our mistakes. We'd rather invent a new programming language, sir."
Sometimes I wonder about them....
Colin Davis
C# probably doesn't support template classes and functions like C++, and some of the other C++ tricks that really benefit the header-and-implementation model that is so prevalent today. They're also using GC, instead of new and delete operators, which is drastically different from C++ out of the box.
It might also only be singly inheritant. (It's still got inheritance like C++, but less of it. ;) )
Weapons of Mass Analysis
Now that I think of it, why not get technical and use the famous Bell Labs technical term for #? Oh wait, that would make it Coctothorpe. Not much of a ring to it.
My guess is because VAGINL doesn't make any sense.
Very Asinine Generally Incompetent New Ass-Language ;-)
See? A little profanity and it's ten times funnier... right?
Saturday Night MotherFucking Live!!!
hmm, ok it's gonna take a bit more work than that...
--
grappler
Vidi, Vici, Veni
We all know that for all practical intents and purposes, C++ is the child of C, and therefore any hybrid between the two will lead to an animal with 6 limbs, three eyes, no mouth and one butt cheek. In other words, Microsoft has developed another half-assed way to program.
As far as the claim that programmers can use whatever they wish on a Windows machine, history tells another story. MS has consistently done all they could to move people from non-MS development environments to MS development environments. Many programmers won't like to use C#, but much like VB, they won't have a choice.
Ultimately this is another attempt by Microsoft to bring down the average intelligence of programmers another notch.
BTW, I fail to see the use of garbage collection in a serious application language(as opposed to an applet language).
they have a quote on c|net where an M$ executive claims OS independance for C#.. later, he goes on to say that it's part of visual studio.. so.. hmm..
awesome! this must mean they're releasing visual studio for solaris, linux, and all the *BSD's!
Thanks, microsoft! You kids are swell!
--
blue
i browse at -1 because they're funnier than you are.
snip>
Last year, unconfirmed reports circulated that Microsoft was building a new language called "Cool" that would be similar to Java but free of technological or licensing obligations to Sun. Microsoft vehemently denied the rumors. Yesterday, Microsoft executives denied that C# was related to the rumored Cool project.
/snip>
Unrelated or not, it is. They 'free' consumers from Sun's licensing obligations, then Microsoft institutes their licenses in the same place.
Seems like it'll be the exact same, just syntax changes. A way for MS to say 'Hey! Sun's got too much market share here; let's recreate the wheel of their software and seize it back into our control!'
I do listen to music while I code. Maybe that's as far as I should combine the two.
- sigs are for wimps.
Perhaps MSFT needed a new language in which the world's angry loners can write viruses and trojan horses now that everyone has grown suspicious of VBScript.
I know the real reason Microsoft is making C#...
Example of the new syntax:
#include "visualj.h"
#include "visualbasic.h"
//#include "c.h"
#inlcude "non-standard-C.h"
void newLanguage(C#)
{
VisualStudioPrice+=400$;
if(userMachine != Windows2000Professional)
requireUpgrade(400dollarsMore);
}
Just another product to sell...
Is that it will probably suck, at least in the begning, compared to java.
Of course, the JDK 1.0.x stuff really seems to suck now.
(ot)
Does anyone here happen to know how to get good, timing in java programs? the System.getCurrentTimeMills() or whatever only returns multiples of 50 or 60. It really bites. Is there a better way?
(/ot)
ReadThe ReflectionEngine, a cyberpunk style n
I'm not sure what point you are trying to make here.
Wind0z L0vers suck. They don't realize that if it wasn't for other OS's/competetion, they would be paying $300 for a crap OS. Still, they wish every other OS would die and they're would only be Microsoft.
You talk about competing with MS, yet you don't want to try to understand their strategy. I suppose you think you'll win by pure righteousness alone. Good luck.
Yet another uninformed anti-Java rant.
Speaking as someone who has written a couple hundred thousand lines of Java code and seen that code work without tweaking, first time, on OS/2 and Macintosh after developing it exclusively on UNIX and testing it on Windows, I have to disagree with this 'almost not cross platform' assertion. Scratch that, I really have to laugh at it.
The trick to cross platform coding with Java is that you have to code to the set of API's that Sun has published and standardized. If you do that, and if you don't fall into a hole that Sun has left in their API's, you're fine. Someone has to define the greatest common denominator of portability, and Sun's been doing a surprisingly good job at that.
I will be very interested to see if Microsoft will even attempt to define a substantial set of runtime API's for the C# runtime or whether they will just provide COM and SOAP and claim that that's good enough while encouraging everyone to use COM-wrapped Win32 to get their work done.
I'm quite looking forward to seeing what Microsoft actually has in this C# and whether they actually have something new and innovative. All the blather about C# not being a response to Java is obvious nonsense, of course.
If Microsoft attempts to duplicate the Java API set with C#, then they will be open to all the same criticisms of platform definition and limited service coverage that Java has been since it was created. If they attempt merely to provide clean access to operating system API's with really decent runtime #ifdef and #include type functionality, so that the same piece of code can conditionally execute sections of code based on the underlying environment, while still sharing the high level logic and providing a Java-like code distribution framework *and* just enough runtime functions like threading and garbage collection, then they might have something which might really swing the pendulum away from Java.
They'd have to standardize it, though, after screaming at Sun for four years about that.
Interesting times ahead.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
C# is three semitones higher than Bb. The even-tempered western scale goes: C,C#,D,Eb,E,F,F#,G,Ab,A,Bb,B
Nick
-- "It's a sad day for American capitalism when a man can't fly a midget on a kite over Central Park" - Jim Moran
"C# is Java by another name," said Steve Mills, general manager of IBM's software division.
If Microsoft can't make their own flavor of Java, and call it Java, then they'll just do the same thing, and call it something else ("C#"). This is a very typical strategy from M$: mirror an existing technology, add enough "features" that it's not compatible, then use their market clout to shove it down everyone's throat.
Yo dawg, I heard you like the Ackermann function, so OH GOD OH GOD OH GOD
Does anyone have more details on this? I didn't see anything apparent on Microsoft's site.
Calling "C#" an embrace and extend play on Java is like calling Java an embrace and extend play on C++. In either case they are simply two competing OO languages with a common base (C-style programming). I actually welcome this. Hopefully Microsoft will make their technology multiplatform (not holding my breath, but..). It would actually be a GOOD thing to have a serious Java competitor out there to light a fire under Sun's collective asses.
The reason is that the C standard had to be open to the use of C for quite a lot of specific applications, notably including embedded applications, that aren't really representative of of the "portable assembler" intent.
In addition, C-- adds in semantics relating to memory management, garbage collection, and such, that C actively eschews, and which C++ left out for so long that it seems unrealistic for it ever to cleanly address.
If you're not part of the solution, you're part of the precipitate.
For whatever reason, which we don't really need to know about as we are just programmers, Microsoft is not supporting Java wholeheartedly on Windows. So what if they come up with their own language, as long as it's got some really neat technical features like what's in Java? Cool, I say. At least Microsoft know how to get the best performance out of Windows and in the end we all benefit.
Face it, we are all going to have to learn this language sooner or later. Our management will see to that. Windows is the most common OS on this planet and if we want to continue to earn a living, this language is in our future.
Let's be practical, gentlemen.
I'm with you!
(I recently started that kind of thing anyway)
--
grappler
Vidi, Vici, Veni
For those of you, thinking Bob has left our miserable lives, remember he is looking out for us, from his new avatar, the Microsoft Office Paperclip.
Bob be with you.
Weapons of Mass Analysis
-o Disclaimer: My employer doesn't even agree with me about C indentation style. o-
"Yesterday, Microsoft executives denied that C# was related to the rumored Cool project."
Does that mean that C sharp in not cool?
When is M$ gonna do something cool?
> # is pronounced "sharp" on sheet music.
;)
I'm not thinking about sheet music when I'm programming. Maybe I should ?
- sigs are for wimps.
Sounds to me like Microsoft is planning to phase out the Java Virtual Machine and replace it with their own C# Virtual Machine - forcing any Java code to run in a different sandbox. That's a much bigger story than a new programming language.
I have come to a conclusion that one useless man is a shame, two is a law firm, and three or more is a congress -J Adams
"It's the next half-step up from C"
Hold up.
void *NULL;
NULL=(void *)0;
Will get expanded by the preprocessor to
void *((void *) 0);
((void *)0)=(void *)0;
Now, I don't have one handy to check, but a c compiler should choke on this whether ansi strict is on or not. The second line will probably cause an 'invalid lval' error of some sort or another, and the first line doesn't -mean- anything, and probably would cause an error (although I can't be sure, since i don't have a way to check right now)
Am I right or am I wrong?
Code or be coded.
The real question here is whether Microsoft is going to keep this technology Windows-only, if they're going to make the minimal showing (a Mac version, possibly even HPUX or Solaris like IE), or if they're going to go full out and either port it to a lot of platforms. Even in that case, it's a toss-up whether they port it themselves, allow others to under NDA (like some Java VMs), or allow the source to the compiler/interpreter to be open enough to allow others to do so.
If they wanted to truly standardize, they could get the language ANSI certified or somesuch. While APIs aren't going to be the same, the language would have a basis, and Microsoft would be able to say they have a language controlled by an independant standards body, while Sun would monopolize Java. This would be sort of similar to the approach they took with their web browser
--
J Perry Fecteau, 5-time Mr. Internet
Ejercisio Perfecto: from Geek to GOD in WEEKS!
--
And Justice for None
Bite the hand.
Next in the line of programming languages
Db - D Flat: The same as C Sharp, yet extended a little further
Ebbb - E Triple Flat: Even cooler...cause it uses more musical notations then all other programming languages ever developed
oh..and since when are programming languages equated with musical notation?
Just because it's fun (and easy!) to bash the parent company does not mean that the research division is composed of hairy-backed, knuckle-dragging cretins.
If you're not part of the solution, you're part of the precipitate.
It's definetly not silent as you can see by the number of replies. We just can't agree what to call the symbol.
If it was silent, maybe we wouldn't have this debate. Good idea !
- sigs are for wimps.
Wouldn't it be good to wait until the language is actually unveiled before you bash it as "crap"? Microsoft does, once in a while, actually produce something cool (even if always fairly derivative).
This is old news Ohio-boy. The coasts have already dumped their Java middle-ware because it doesn't scale (DUH!) and are going back to Apache, mod_perl, PHP, MySQL and the like. You'll discover the same problem in about 18 months and do the same as we did - DUMP THAT BITCH!!
Edith Keeler Must Die
Not just touchtone phones, Octothorpe is the correct name for the # symbol.. though i'm betting the MS marketing department didn't know that, because Coctothorpe sounds like a really awful porn adaptation of a B-grade horror movie.
Dreamweaver
"If a man hasn't discovered something he will die for, he isn't fit to live" -- MLK, Jr.
This is old news. Their new language is called "MicroSpeak". Here's a sample:
Microsoft: Source of all innovation.
Consumer: Recipient of innovation (and therefore all consumers are Microsoft customers and vice versa)
Bug: Potential innovation
Lawsuit: Oppression against innovation
Competitor: Reason for innovating. Not because they "spur us on"--because that's the only way to crush, I mean "innovate", them.
--
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
Maybe this is their first vapor language?
I think there is some significance that this comes out just after Judge Jackson referred this case to the Supreme Court. He can't say anything about this now, the matter is out of his hands.
This is incredibly suspect considering the whole set of Sun/Msft fiascos. I would bet my trusty Igman box that they have had this under wraps for some time, just waiting for a calm period in the legal fight to slip it to its legions of single-platform developers...
kind of makes me sick,
its just the same old Microsoft, back to its same old tactics
...than a mediocre college student.
Really, how many C-based languages to we need to have? And how many of us are going to pick up a new, proprietary Microsoft langauage that's a lot like an existing language (developed by a less evil company), but will most certainly be partial to Windows?
I'm still all for Sun's Java, and to hell with J++, C#, and all of those other deformed Microsoft creations!
There's just something about proprietary Microsoft-developed Windows-centered languages that sends chills down my spine...
I read it as "see HASH", being that I program in existing languages that already "pronounce" that character properly.
Send your friends messages of love at fuck-you.org
Maybe you should...
Music is a very mathmatical expression. Look back Do DNA's interview yesterday for starters, but thinging about music, and thing about programming, are similiar....
Colin Davis
C# does _not_ use the JVM.
C# is designed the way it is for trivial NGWS development.
as far as VC++ becoming standard compliant... expect some more C++ changes as well with VS7...some of which should make developing non-system code in C++ much nicer. Some of the demos of VS7 done today at Forum 2k were very nice.
My opinions are my own, and do not necessarily represent those of my employer.
There isn't any real different. In all the intial press announcements and early books on Java, it was proclaimed that Java was a better C++ because it didn't allow pointers and had automatic garbage collection (memory management) than C/C++ (amoung other things). The problem with Java is Sun's desire to maintain control. What makes the control so blatant is that Sun went through two exercises where they were going to make it an open standard, only to kill that effort at the last minute. Rather than rehash the why and wherefore of both attempts, let me just say that it would ahve been better if Sun had never even made the effort in the first place. Sun has, IMHO (and many others) come across looking like M$ in the way it has handled not just Java but the community at large; cynical and manipulative for the ultimate benifit of Sun.
And I'm sorry you got modded down by someone who can't differentiate between a legitimate question and a real troll. I'd like to know who moderates comments so that we could moderate the moderators.
I use Macs for work, Linux for education, and Windows for cardplaying.
oops, should read "there is no release date scheduled"
http://msdn.microsoft.com/msdnmag/issues/0400/v
describing the web-enablign features of VB7.
Maybe they just made a C-like syntax alternative for VB7 that uses the same compiler back-end as VB7.
Sun will never give up control of Java -- it is their baby. Given that, I do not believe that transferring control to a separate entity will help in any way. Right now java is progressing nicely. 1.3 runs faster than 1.2, and hopefully 1.4 will be even faster. I think that any kind of change to the development process would be detrimental.
That aside, I just wish you could overload operators...
-S
Ease of use and platform access have nothing to do with the inherent dangers of a programming language. Ideally, a programming language should be powerful enough to let you do anything with the hardware short of exploding the monitor, and easy enough to use that a baby can get some serious modeling done.
Security aspects of the code arise when people are capable of doing stuff to your programs that wasn't intended as per the design specs. In large part, the responsibility for this lies on the programmer, and not a lot on the company that developped the compiler and language. Of course, this is where C# is most likely gonna suck, much like VB does.
But don't say a powerful and easy to use language is a bad thing. Cause otherwise, we might as well all go back to Assembler.
"...Not a Java competitor..." ... "...It kind of mirrors (Java)..." ... "C# is the alternative to Java..."
So it has features of Java, is an alternative to java, but its not a competitor to Java. Hmm, that must mean that C# is going to be vapor or a big flop. Otherwise they are only contradicting themselves (which is quite rare to see in a single press release).
--
Eric is chisled like a Greek Godess
marotti.com
Of course, I doubt there'll be a GNU C# compiler, so there will always be that contingent of C/C++ programmers out there. But I'm sure MS will be releasing free compilers to get people to use this thing.
Anyway, just more bleak news from everybody's favorite untrustworthy standards-busters.
__________________________________________________ ___
rooooar
Microsoft executives said the new language, an easier-to-use version of the popular C++ language, is intended to drastically simplify and speed up software development as well as promote the company's Next Generation Windows Services (NGWS) initiative.
Any language that's a hybrid of C and C++ can't possibly "simplify" development of anything, especially for those VB point and drool types. How the hell do you make a hybrid of C and C++ anyway?
While sources say C# will include several features apparently modeled on some of the most popular features of the Java programming language, Microsoft executives say the language is not a Java competitor. "This is not a response to Java," Goodhew said.
One word: bullshit.
One source familiar with Microsoft's plans said C# is "intended as (a way to foster) new styles of development. Combine it with the Web services (Microsoft) is announcing and you get powerful stuff. It also so happens to effectively mirror what Java can provide. It provides operating system independence (which Java provides), but it also provides language independence, which Java can't provide."
Woah...hold on a second here. This is going to be os independent? What other OS's will it run on? How is it going to run? They say Java can't provide language independence? Obviously they've never heard of JPython or any of the other languages that have compilers that can translate high level source code to Java bytecode that will run on a JVM.
In spite of all the hoopla, we'll see how long it takes for this to move out of the vapor stage, if it ever does...
Read these, and think "Word Macros", or "ILoveYou"...
..."intended to drastically simplify and speed up software development"...
Good intentions, yep. Sounds about right.
"Microsoft has its own unique programming model with Visual Basic..."
That's putting it mildly.
"Combine it with the Web services (Microsoft) is announcing and you get powerful stuff.
Oh no!
Okay, I'm stopping right here.
Powerful + Easy-to-use => Dangerous
Anything about "Security" has to be marketing. If it's Powerful, and it's Easy-to-use in the Microsoft sense, and on the web... then you're going to be in BIG trouble, Real Soon Now.
---
pb Reply or e-mail; don't vaguely moderate.
pb Reply or e-mail; don't vaguely moderate.
Grrrrr. Is there no one left that calls C++ C sharp? (Imagine overstriking the two plusses to form a # sign.)
I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
Secondly, anyone taking any bets when this thing becomes available (and how long after that it becomes actually useful)?
I said NT
The news reports make C# appear to be a Java clone designed to make use of the existing MS jvm. Given that Sun designed the jvm to support other languages than Java, I can see why MS has gone this direction. I suspect C# will have similar weaknesses to those seen for Java. Based on a discussion with a Java guru, these are likely to include: 1. High memory utilization (heh...) 2. Garbage collection preventing use in RT and near-RT applications. Also, object lifetimes are not well-defined--they may never run their finalization logic, which can be disasterous for persistent data objects. 3. Increasing memory fragmentation over time (also seen in MFC). 4. Object (especially String) instantiation as a big slowdown 5. The code associated with large objects being inefficient 6. Inadvertant memory leaks (multitudinous ways) 7. Class hierarchy explosions 8. Threads (heh...) If you follow the C++ language boards, you will have noticed that MS has shown little interest in VC++ becoming standard-compliant. This appears to be the same pattern. Comments?
Microsoft isn't the only company to do this...
Most people that have worked in a large data center will se ITO/Openview
by HP, for HP, only supported on HP.
It's called business!
This may have something to do with their Intentional Programming research (being carried out at Oxford University), which is a way of abstracting the intention of a piece of code away from its implementation detail. Here's some links
MS Research - IP Overview
MS Research - IP Detailed
Blackbird? Wasn't that supposed to be M$'s answer to Java 2 or 3 years ago?
What do you have in mind oh dark^H^H^H^Hdonk one?
Pretty much just posting pointless crap like this. Sorry, it's not much of a plan -- best I could come up with. It's more fun than getting my blood pressure up every time Metallica says, "Napster bad!"
So, uhhhh.... you got a URL for those Portman shots?
Save the whales. Feed the hungry. Free the mallocs.
Me> Also, XML is by its very nature Open Source of course.
AC> Oh, really? ... Please stop being an asswipe.
I mean that you can open XML in any text editor and look at it. Anyone can look at the source code of an XML document, therefore it's open source (maybe I shouldn't have capitalized the words Open Source). Do you have any idea of what you are talking about?
I was simply trying to explain what MS may have meant by platform independence, and that the journalist, or whomever to journalist spoke to, expressed it badly.
I don't really want to defend MS, but there are just so many closed-minded zealots around here.
We don't need another stinking programing language, but another solid language would be good. There is always room for diversity in computers. Opensource is built on diversity. However, I don't Microsoft can pull off a decent programming language. This could be another tactic. If they "open" up this new language, they may use it as a poster child to say we can play nice. Look at c#... Summary, I will never trust Microsoft
Next thing you know, they'll be producing Python++ and confusing the living hell out of my MS-loving manager!
Weapons of Mass Analysis
Any number of names come to mind.
"What is in a name? Arrows by any other name would kill just as swift."
[
Here's an answer.
DonkPunch,
I have 37 gallons of steaming hot grits and a 14Gb collection of badly faked Portman nude shots. I've been biding my time, waiting, preparing.
What do you have in mind oh dark^H^H^H^Hdonk one?
--Shoeboy
(former microserf)
# is the musical symbol to augment a natural note a half tone, making it sharp
In other words, increment it (by a half-step - the basic quantum of the even-tempered scale).
So it's a double pun against C++ (i.e. "C incremented by one", or "The next step beyond C"). The other, of course, being that # looks like two +es overlaid.
I note that by chosing "sharp" (add a half-step) they are only claiming half as much improvement over C as C++ does. B-)
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
Excellent!
What the world needs now is a single platform ("platform agnostic"? )
virtual machine (or "Common Language Runtime") running byte
compiled code on one single platform... In short, the speed of Java on
Windows only. Excellent.
Didn't they have Visual Basic to do just this before?
If I want to write Windows specific code, I don't need a "hybrid of C and
C++" running in some kind of virtual machine. I need a compiler.
And, guess what, I already have a couple.
Microsoft, this is a Big Dumb. Thanks for playing. B for effort but D- for result.
Try thinking not only about the compiler. Compiler itself is just a small part. The big one is the library that is tied to Windows very much. It's tied so much that they haven't even produced VB for Mac (IIRC). This kills the idea of VB->JVM applets outright and makes necessary the complete rewrite of the VB runtime library from Windows-based to Java runtime library-based, that is pretty much unfeasible.
:-( As the result, they will produce the code that is still not very good, so that VB will still be used for non-critical desktop-only projects.
Another interesting point will be the quality. I don't think many people will argue with the fact that C/C++/Java crowd is more competent and professional on average than VB crowd. Even though there are a lot of good VB programmers, it's usually used by the lame beginners who want to become programmers
Tigers respect lions, elephants and hippos. Maggots respect no one. (C) S. Dovlatov
Most garbage collectors work by sweeping over the active areas of the heap, and copying anything which is reachable.
The algorithm you are refering to is called Copying (or Copying Garbage Collection). It is NOT the most common algorithm for collecting garbage. Why? Well, simply because of its disadvantages. First it requires a heap twice the size of what the progam needs (often refered to as From-space and To-space). As the amount of memory used by a program increases, less memory is deallocated each time the garbage collector is run and consequently the garbage collections become more frequent. Further, this algorithm can be very inefficient if the number of resident objects is
large. If the amount of memory occupied by active objects is large, a lot of copying
has to be performed in order to transfer all active objects from the From-space to the To-space.
The Mark Sweep and Reference Counting algorithms are probably the most common ones today (but not Copying).
Tech sector journalists franticly scribble on their pads...
"Wait, I meant to say 'Cee Sharp'!"
But the spirits have already done their work.
Gates: "D'OH!"
Have you ever tried it?
Naturally.
It breaks miserably on every system we have here, with every user. It breaks even worse on friends' and colleagues' systems. It is simply not designed to run under anything other than its own OS. Naturally.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
Of course MS releases a new programming language.. they've probably had it in a red, glass-fronted box in the legal department for years marked with a "Break glass in case of anti-trust" sign. Now when they're forced to release the windows source code, they'll just release it in 'C sharp' which nobody knows and is just close enough to C and java to really screw up the people who Do know them.
Dreamweaver
"If a man hasn't discovered something he will die for, he isn't fit to live" -- MLK, Jr.
Unless I am wrong, it provides easy internationalization -- probably something along the lines of having a string ID instead of a string, and that string ID pointing at different strings depending on what human language you wanted that string to appear in.. but that's just a guess.
-S
on equal tempered instruments (Which the slide trombone is not) C# is not always Db especially in the context of a really good player and orchestras.
Vermifax
Vermifax
Logout
I am not a crook
I did not kill Nicole Brown Simpson
I did not have sexual relations with that woman
This is not a response to Java
It's 10 PM. Do you know if you're un-American?
DonkPunch,
I'll join you on one condition:
You must refer to me as 'my young apprentice.' I'll refer to you as 'smoking joe'.
Is this acceptable?
--Shoeboy
(former microserf)
Unless, of course, Microsoft is really interested in another proprietary tool that will lock customers into the cycle of dependance.
----------------
I'm sharp you're sharp Ceeeeeeh! Shahhrrp!
RMS had some interesting thoughts on this --
Either the Open Source community rewrites Java (calling it by a different name, of course, to avoid trademark problems - [Something] Is Not Java) and then everyone has an open standard to write to; or, every large commercial concern rewrites Java, and then instead of one proprietary language, we have three or four.
Microsoft has been public about their C# ('COOL') plans for a long time. After a recent standards battle, IBM is grumbling about creating their own Java too. Venture capitalists are probably circling around a few Java-clone startups as we speak.
So, if we break this down further than Sun/Java = Good and MS/C# = Evil, you'll realize that Microsoft isn't really doing anything more than what other vendors will do eventually.
When I hear the word 'innovation', I reach for my pistol.
In a recent column, he mentioned in passing how he intentionally did not name the language c-sharp because he thought the play on words was so obvious that surely someone had trademarked the phrase. I hope so. I'd like to see Microsoft have to change the name or settle out of court for some undisclosed sum.
take a look at this graphics to see what langage rules/sucks. What sucks hard is Maple, and people prefer Cobol to Java :)
--
BeDevId 15453 - Download BeOS R5 Lite free!
"Science will win because it works." - Stephen Hawking
I would suggest that they support an existing language like Objective C but far be it from Microsoft to do anything cross platform. Heres to hoping this fades into obscurity soon.
God Fucking Damnit
I think what the article was trying to say (but it was very vague and I'm sort of guessing here). Is that Microsoft's plans include a generalized VM. That is, a VM like the Java VM, but one that doesn't make any language assumptions at the byte-code level. Basically, a CPU in software.
This would make sense and be quite cool -- a lot of people have bashed Java in the past because the byte-code level is too "aware" of the higher-level-language. This limits, somewhat, the type of languages that can be implemented directly as Java byte-code targets (I believe there are _some_ Scheme and other language Java byte-code compilers).
Inferno is a virtual OS that runs on many platforms, including tiny ones like Web phones. It even has its own programming language which is C-like, runs in a VM and has often been compared to Java.
Hmmm the lack of technical info on C# looks asif they have rushed this press release out rather quickly. One wonders if they are trying to detract from Inferno???
C# turns into real middleware. Under Jackson's remedy terms, it belongs to AppsCo; OpsCo is not allowed to do middleware. Through the use of decent automated tools, AppsCo ports major applications, starting with the Office suite, to C#. Now you have to have C# on your machine, at least the runtime, to run Office. Other applications follow.
AppsCo announces C# for Linux. Now Office runs there, and then more AppsCo apps run there, and pretty soon most desktop Linux boxes have C#. Repeat for Macs, Solaris, etc.
AppsCo provides the C# runtime to other apps companies for free distribution. Tools for conversion from Windows to C# are made available at reasonable cost (at least initially). Other app companies begin porting rapidly to C# in order to get in on the multiplatform wave.
Unable to compete on the merits of Windows as only an operating system, and with flagging sales as servers and desktops move to Linux and elsewhere (now that the application barrier to entry has gone away), OpsCo is out of business in five years...
Of course, the C# middleware has lots of undocumented APIs that only AppsCo can take advantage of, and when necessary they can move major pieces of key applications into the middleware...
Let me make a few points clear:
- C# is just the latest name. COOL was the original code name, which was later changed to Safe C. They are all the same thing.
- At the time I left, they had no intention of being cross-platform compatible.
- They ARE trying to get a good RAD environment going. It is intended to fill that space between VB and VC++. If you want to crank out a fast GUI (for example), and hate MFC and VB, then this is for you.
- They've moved the WFC stuff from Java over to this new language. WFC is really nice to work with IMO.
- The execution engine (they don't call it a VM) is damn fast. Not native, but pretty good... faster than J++.
When it gets released, give it a try before you knock it. I think most people will be pleasantly surprised.
C++
Unified
Non-
Inspired
Language
Intended
Not for
Gnu or
Unix
Specialists
Insanity is the last line of defence for the master diplomat. But you have to lay the groundwork early.
I think the best part is :
"All languages will have equal footing on Windows," one source said. "You can pretty much develop on any type of language on the Windows system." The source summed up: "(Common Language Runtime) increases the openness of Windows...It's a universal engine to run
(different) languages."
A universal language translator????
or :
Sources said Microsoft's initial plans also include offering a technology called Common Language Runtime, a universal engine that will allow software developers to use many types of programming languages to write Windows applications.
So it's a language so you can use any language - a compiler compiler?? HUH???
Think it through SLOWLY. On the musical staff, B comes BEFORE C going up, therefore B is BELOW C. D comes AFTER C, therefore a half step up from C (C# or C-sharp) is the same as a half step down from D (Db or D-flat)
Believe in things of which no person has ever learned
All these music references...and here I was thinking they were selling a Visual aid.
-- V was its Victim who cried out "But why?" --
I agree in that there is one aspect in common, that has to be critisized:
Both they monopolize the definition and standardization of the language and the libraries.
But there are some important differences in how they do it.
Sun tries to evolve Java in a rather open, transparent and honest way. As far as we know SUn did not integrate any secret features or backdoors in java, that would give Sun competitive advantages against any other companies using java. Microsoft always does with its technoloogies, and i expect them to do with "c#" too.
This counts particularly, when it comes to security issues.
Next there is the high quality of the lagugage design. Compared to C++, it really seems to solve some problems that were notorious in C++. (I dont know any oo-languages other than Java and C++, maybe smalltalk or objective C are much better than Java, but Java is clearly better than C++). In contrast, Programming standards that Microsoft delivered yet were mostly crap (MFC, WINAPI, OLE, ActiveX...).
Sure, in some way Sun also does an "embrace and extend" approach. But they do it in a way that is much more acceptable. If they had a mionopolistic status like MS has now, i wouldnt trust their product the way i do now. In general i dislike their proprietary approach to the java language, and i hope that they someday will be forced to transfer maintainership to some kind of independent authority (or an industry gremium like the OMG).But even if sun is bad, MS is yet much worse.
I dunno about you, but I'm rather cautious about the security of Microsoft's new products... If they can release a new OS with over 64K of known bugs, I don't want to think about the possible problems with a new programming language. *shudder*
Does anyone really think that programs written in a language which allows (and will probably require, for speed reasons) direct access to the hardware will be portable? Who expects, in all honesty, Microsoft to port C# to its competitor's platforms? And what does "language independence" mean? Does Microsoft mean to tell us that if we accept their C# as our new development standard, that we won't be dependent on the whims of Microsoft for providing support for the language?
A language that extends the features of other languages cannot claim language independence, because, as MS puts it "The new language will offer features available in Java but not available in C or C++." So if we develop with C#, we will be forever tied to MS to provide us with compilers because it has features that aren't available in other languages. So much for language independence.
The society for a thought-free internet welcomes you.
Whaddya wanna bet that if they create any *nix-based tools (hey, they tried to make IE run under Solaris) to increase their dominance, they'll embed the '#' character into a filename somewhere. And then all the tools that we love to work with won't work, because the "comment character" will break the line too early.
:-)
/. reader: I'M JOKING.)
Then they can require that their own nasty-ass build tools be used for developing D-flat.
(Note to standard
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
A lawsuit from the makers of Db (D flat) is expected. The lawsuit charges that C# and Db are, in fact, the same language.
Save the whales. Feed the hungry. Free the mallocs.
By your so called "logic" every new language potentially "decreases overall public utility", since it reduces the number of people writing in other languages.
Hell, lets all write in one language then, if were are going to maximize overall public utility.
DrLunch.com The site that tells you what's for lunch!
I believe XML will be the primary means of communication on this new platform (using SOAP).
A closed mouth gathers no foot...
Indeed ;)
Are you saying i'm a bad product??
Why win9x really sucks
Doh. I stand corrected. I guess I should have looked a piano keyboard instead of a computer keyboard.
"The new language, expected to be called C# and pronounced "C sharp," is a hybrid of C and C++"
That's interesting, since C++ is entirely backwards compatible with C, yet this causes the language to be a bit faulty in what it allows (generally, you like a language to have a rather tight definition of itself). C-- is C++ without the C.
Perhaps they didn't mean it as they said it? Perhaps it is developed from, what in the opinion of the developers, is the strongest portions of both? Perhaps it filters out the redundnacies and ambiguities?
Or perhaps they just didn't write what they meant, and meant JAVA from the start.
Eh...
Let's see. We have a new product from Microsoft that:
It's the whole Microsoft strategy in a bottle again. I guess that their attempts to embrace and extend Java aren't working, so now their offering their Windows-only clone instead.
There's no point in questioning authority if you aren't going to listen to the answers.
Where are the Haskell, Eiffel, or Dylan books? Forget things like Plan 9, relatively common OSes the various BSDs are considered too fringe for O'Reilly. O'Reilly's books are aimed at the mainstream person who thinks it would be cool if people considered him a geek -- the kind of people who download complete kernels instead of patch them -- rather than true geeks. Oooo, another Linux book, how cutting edge! The only books they still put out are those health books they surprisingly release, which are highly targetted -- things like Losing Your Gonads to Scabies: How to Cope.
Cheers,
ZicoKnows@hotmail.com
Well, without frets it is possible to produce frequencies that are not exactly 'right', ie. Db can be played higher than C# (offset from mathematical value by few hertzes). So, in a way, even though one could claim that'd be out of key, it might actually sound better (or at least feel better, who knows). ... but what do I know, not being a 'real' musician... that's just how my music teacher explained it to me years ago.
I like paying taxes. With them I buy civilization -- Oliver Wendell Holmes
The marketing line is simple: you can have a JVM, which only runs Java (and a few fringy languages, like Pizza), or you have this super-duper VM that runs Java and a whole lot more. Difficult for a naive person to argue with.
The defacto VM is currently JVM, and Sun owns it. MS is starting to realize the strategic importance of this, and this is their attempt to steal it away from Sun. It's not an anwer to Java, it is an answer to JVM.
Um, you need to learn some solid music theory...
As a trombone player (as well as several others), I can tell you that C# != Db in all cases, but it does in some...
Compare the following chords:
A (A-C#-E)
Db (Db-F-Ab)
C# != Db. The frequencies will be a little different, in order for the chord to sound in tune. This is why the third of the chord always sounds just a little off on a piano that is properly tuned.
However C# does euqal Db for any arbitrary note, that isn't part of a scale/chord... of course, that doesn't mean anything anyway...
"It's tough to be bilingual when you get hit in the head."
I think the only hope Microsoft has of getting back in the game is to starting supporting those features - I don't think they can compete on price, since free competition is available, and their large "mindshare" advantage is eroding rapidly. So VB 7, when (if) it comes out, is supposed to offer all the whiz-bang stuff Java has; in fact if you read the feature list, it looks like it was taken directly from Java. But it'll be years behind, and probably buggy until the third release.
So to fill the void MS announces C#... the only problem is that I don't see any features in C# that aren't already in Java, other than possibly "language independence". I suppose this means you can compile C# objects from source code in other languages, sort of how you can do ActiveX objects now (!) Big deal - you can already use other languages to create compiled Java classes, and that's not necessarily a good thing anyway, depending on how good/well-supported the other features of the other language are.
All in all, there's nothing in the C# announcement that would make me switch from Java, or even from VB 7 when it comes out (I'm a SCJP, but use VB for clients all the time).
Read my keyboard review.
Why was this moderated to "Offtopic" when it was about the only accurate post concerning C#?
"Electric Relaxation" - ATCQ
- Bwana
"Electric Relaxation" - ATCQ
- Bwana
M$ has pushed extremely far. I have to think that they have outdone IBM in the lock-you-in marketting world. In IBM's prime, M$ claimed to free you from them. Now they have become IBM. Sure IBM was on the cutting edge. Sure they did some great things. Some of the things IBM and M$ are doing just didn't turn out to be something people wanted, or maybe people don't like being pushed around. In any case some of their products we start to primarily exist to lock the customer in, and have little value other than marketting hype.
I think that this is the case with this current language. It exists only to lock you in, and for no other reason. If you buy the hype you'll buy the products and get stuck.
I see it as I see VB, just one more language which will be remembered along with RPG, but time will tell.
-- James Dornan AKA TigerSmile
-- Prepared at the direction of, or to be sent to Legal Counsel, in anticipation of litigation. Attorney Client Pri
You're an idiot.
If you are worried about a resource in Java not being returned due to an exception, use finally. Observe:
SomeResource foo = null;
try {
foo = ResourceManager.getSomeResource();
foo.doStuff();
} catch(AwfulException e) {
System.out.println("Oh, no!");
throw e;
} finally {
if(foo != null) {
foo.close();
}
}
The finally is executed no matter what. If there's a return statement in the try or catch, the finally is still executed.
Now go make up another reason for not liking Java. When you can't find a job in 5 years (like the VAX Admin I met a few years ago who never deigned to learn another OS), I'll be the one laughing at you.
-jon
Remember Amalek.
# is a hash - what MS make of everything.
So it's CHASH, pronounced "ch-ash".
Government of the people, by corporate executives, for corporate profits.
Well, you are right in that they aren't the same thing. However, the poster said that they are enharmonic equivalents , which they are.
Addlepated - punk & metal
I love this bit, check it out:
A) It's a platform-agnostic method of building these rapidly distributed applications."
and then,
B) Goodhew added that C# allows "developers (to) access any hardware and software." C# provides "complete access to (the) underlying platform."
REALLY? Wow, C# simultaneously CAN and CANNOT see the implementation details of the hardware upon which it is running. I'm impressed.
Next, I suppose, is Microsoft's new DWIM compiler, which only supports one instruction.
-- Crutcher --
-- Crutcher --
#include <disclaimer.h>
Meanwhile, once you have posted to the list you are added to the FSCKMEINTHEA$$ mailing list (hosted by MS, or at least half of MS) that feeds your system every possible virus permutation imaginable by way of the special back door on port 666 that the C# jit compiler creates upon first execution.
My office has been taken over by iPod people.
It would look great on your CV
Several years first hand experience with GANJA
Syllable : It's an Operating System
Posted by 11223:
Actually, IE runs quite well on Solaris, contrary to popular opinion. Have you ever tried it?
But there is no reason to have languages which are designed for the sole purpose of stopping other emerging standards.
Lets see.. Java -- Controlled by one company. Never submitted to standards comittee.
C# -- Controlled by one company. Never submitted to standards comittee.
Oh, yes, now I see why you object. Because its MS doing it, therefore it must be evil.
DrLunch.com The site that tells you what's for lunch!
Whatever happened to that cool langauge they were supposed to have written, which would be as good or better as java?
make world, not war
Urk... I knew I would not be able to post something that long without an error...
A 440 is the open position of the second string of a guitar using standard tuning.
I sure hope nobody broke their Low-E string by tuning it up to G based on what I said. :(
(Sorry if this whole thread seems off-topic, but it was M$'s idea to name a program language after a note that's really hard to play in tune on brass instruments, not mine.)
Information wants to be anthropomorphized.
I had heard they were coming out with a C++ based language called "COOL". It sounded very similar to this newer speculation about "C#".
There are a couple of problems with Microsoft coming out with a cross-platform language and expecting everyone to use it instead of it's competitors (C,C++, and Java are all reasonably well supported across most platforms.)
1. Microsoft isn't well known for good cross-platform support. Their new SOAP XML standards are a good start. However, the technologies VB, COM, and MFC extentions were quite well rememberred as terribly non-cross platform, even though they claimed COM was (and claimed NT was POSIX compliant).
2. There is a good deal of heavily entrenched and saturated languages like Java and TCL already poised to defend their positions.
3. Microsoft is more weak than ever in claiming "This is the future." Their future is quite uncertain now, even if they fix a deal with the Justice Department.
-Ben
(P.S. This sounds like a computer language made for people who played flue and programmed C before, and now want to try object modelling their computer synthesiser.)
When I first heard about COOL, I thought it should have been renamed to Simple Unified C++ Kit
--Shoeboy
(former microserf)
Yeah, I'd say that I'm pretty happy with the VC++ programming environment. Everything else they make pales to that.
One thing confused me.. They said that C# was not only platform independent but "language" dependent. That seems awful hard since you'll be writing c# applications in none other than c#
_________________
JavaScript Error: http://www.windows2000test.com/default.htm, line 91:
Oh, good, it's going to support Cobol.
You have no idea what you are talking about. I play trombone and have for 7 years. I also play bass guitar (tried fretless a few times).
The frequency of the pitch of C# is identical to Db. That's just the way it is. Yes you have analog control over the position of your notes, but if you play a perfectly in tune not C#, you have also played a perfectly in tune Db.
The only reason to change from this would be if your instrument was out of tune, and in that case, both C# and Db would change up or down together.
Is it me, or does this sound like vaporware...
To quote
Microsoft executives declined to say when C# will be available but said the language will eventually be part of Microsoft's Visual Studio suite of software development tools.
EveryDNS. Use it. It works.
AC's need not reply
Could they pull this off by claiming 100% compatibility with existing Java code, thus allowing them to claim that you can port any application to CPound by simply recompiling? I did an Ask Slashdot on somthing similar once. I asked if you could reverse engineer an entire programming language like Vb using the same function calls and syntax but change the backend functions. Too bad it never got picked up. This may be exactly what microsoft did. We'll find out when we get the details.
It [c#] provides operating system independence (which Java provides), but it also provides language independence, which Java can't provide."
WTF is a language independent language?
"Microsoft executives say the language is not a Java competitor."
I didn't know they knew what competition meant. I was under the impression Microsoft's marketing strategy was to type "iddqd" and hope for the best.
There are some people that if they don't know, you can't tell 'em.
Since I came across it earlier today, I thought I might as well post it - J2SE 1.4 "Merlin" public review at the "Java Community Process". It's 59 pages long, though that's mostly because it is quite detailed. If you want to influence the direction of future Java development... now's the time - they do want response to this...
If forget where I first heard it (#) called an octothorpe, but it seems a much more satisfying and mysterious name than the bland "hash", "pound", and "sharp". Although, if if call # a sharp, you get to call #! shebang, and that it cool too...
Just so you don't think I am crazy and making up this octothorpe business...http://mathworld.wolfram.com/Octothorp e.html
Silly person. "@" is a UNIVAC Master Space character. :-)
--
-Rich (OS/2, Linux, BeOS, Mac, NT, Win95, Solaris, FreeBSD, and OS2200 user in Bloomington MN)
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
I believe the original codename for the MSN project was Blackbird, when they were developing a proprietary network w/ client browser, it was all referred to as Blackbird I think. I think, therefore I'm not sure. -- octo
Microsoft's had info on a new language for a while, now -- something called Vault, although I don't think it's the same thing as the one that c|net is talking about. I haven't looked at either Vault or C# in any kind of detail yet, so I won't swear to it.
You might want to check out this link (http://www.research.microsoft.com/projects/Vault/ ) at the Microsoft Research site if you're interested in a little (and I mean little) more information about it than I can give you.
Cheers,
ZicoKnows@hotmail.com
Me too...
C:
ENTER:
###
I guess we read different books as kids...;)
As we all know, Csharp has 7 accidentals, whereas D flat only has five. If they'd named it Dflat, then they'd have saved an entire 2 accidentals, greatly reducing the amount of work necessary for implementation and otherwise vastly improving safety for all concerned. But no, they foreswore all concern for users and had to go with the marketing angle. Curses be upon them!
"If one is really a superior person, the fact is likely to leak out without too much assistance" -- John Andrew Holmes
Java clearly better than C++.
For you perhaps, but not for many others.
Mark and sweep should collect exactly the same garbage as Copying, so I don't understand your comment that begins with "As the amount of memory used by a program increases..."
Mark and sweep is always linear in the amount of memory ever allocated, since it needs to explicitly free. Copying is linear in the amount of memory currently being used (though its constant is typically higher than that of mark-n-sweep).
I may have misspoken in regards to it being the most common; it is in the area I work in but perhaps not in others.
Two reasons why copying is nice:
- Better asymptotic performance (argument above)
- Copying gives the ability to compact your heap, which can give a nice speed-up due to cache issues and reduce VM fragmentation.
In practice, we like to use generational copying garbage collection since as you correctly point out, big heaps are slow.
Microsoft is proving to be an obstinately indivisible quantity. Just ask Judge Jackson and the DOJ -- and they're professionals.
Instead, I propose: "What a pile of Microsoft"
"If one is really a superior person, the fact is likely to leak out without too much assistance" -- John Andrew Holmes
Allrighty Smoking Joe, we'll find signal 11, lure him into my lair truss him up and convert him to the donk side.
His karma will not protect him from my vicious crew of vampire lesbian NASCAR drivers. (they wear asbestos undergarments in case of fire!)
Portman pics are here. When I say badly faked, I mean fat chicks who look nothing like NP and don't pretend to.
--Shoeboy
(former microserf)
Why do we need yet another C-like language. Why couldn't they be the least bit inventive something similar to scheme, haskell, or eiffel. But no. We must catter to all of the java, c and c++ programmers out there, many whom don't know that there are other, perhaps superior, things out there.
Please, someone start a movement to make functional languages more widespread! If one has already begun, let me know!
If you were/are in attendence at Forum 2k today, you might have seen their pretty slick Web Services dev tools...
it all uses SOAP for object/server interoperability.. and that protocol basically just moves XML around.. the keynote specifically said you can code these services with any language and you can serve content and do ASP hosting on any platform.. they specifically mentioned UNIX...
In order to do what MS wants to do w.r.t. to NGWS they're making it possible for anything to play ball with their stuff... as usual, they plan on differentiating based on ease of use and developer support
My opinions are my own, and do not necessarily represent those of my employer.
At least its an honest programing langage with an honest background....
Years back, in Dr. Dobbs', Ciardi(?) had a series about a toolkit he called (and it was copyrightten) as D-Flat, and I b'lieve he mentioned it was that, since C Sharp was taken.
Oh, Micro$oft.....
mark
Y'know, for all the MS bashing that goes on here and elsewhere, it's stuff like this that at least makes the market lumber forward. Sun, I am sure, is at least remotely concerned at the prospect of this biting into the Java market. Sun will therefore add some new bells & whistles, about 10% of which will actually be useful. MS will respond similarly. Rinse, lather, repeat. Yes, MS sometimes puts out shoddy product. But they also are a huge motivator for everyone to kick ass, lest the huge beast from Redmon trample them. Or better yet, devour them in a buyout.
- Rev.Thanks to Dictionary Com for this insight.
Page down until you find the def of Hash as the character # .
All right, Slashdot has too many trigger-happy posters. The same lame gag, at least three times in one thread....
Save the whales. Feed the hungry. Free the mallocs.
Just what we needed, another variation of C. C, C++, Objective C, and I'm sure there's many more. We just can't get enough of these things now can we. This one probably even comes with MS proprietary extensions, how usefull!
Uhm, remind me again why I would want to use web specific technology for MIDDLEWARE development. You know, making multiple flavors of big iron talk to each other. Abstracting away various legacy databases behind a single object model. That kind of crap. I fail to see how Apache and such would help me with that.
Oh, and it is Wisconsin-boy to you, and smile when you say that. :-)
Thad (I think I was just trolled)
The Bolachek Journals
how about B-doublesharp? (another enharmonic equivalent to Csharp, in well-tempered tuning)
-- open source? sounds like the real book --
Many versions of libc already provide "get string by string-id" and call it catgets().
Will I retire or break 10K?
OpenSource seem to be bend on rewritting everything under the sun.
And you people keep laughing at MS for not being innovative ?
1) A couple of years ago I've seen a very interesting quote: "The biggest choice for companies in the next 5 years will be the choice of the component model". As of now, about 2/3 of the Fortune 1000 companies have chosen CORBA. SUN's decision to pretty much abandon their own model (Remote Invocation) for CORBA plays to the strength of this argument.
;-)
COM+ will be one of the strings attached with the new language; Necro$oft will try to increase the chances of using their distributed architecture.
2) Java phenomenon has spawned a huge amount of development tools from both established players like Borland, IBM & Symantec and start-ups. I'd say that there is more investment in new cross-platform Java tools than in new Windows-only tools. IMHO, the success of Microsoft environments is closely linked to the excellent development tools tied to the platform.
Microsoft wants to stop the erosion and regain the developer's hearts
Tigers respect lions, elephants and hippos. Maggots respect no one. (C) S. Dovlatov
That's right, because fretless string players don't play exactly in equal temperament. In equal tempered tuning, which almost all Western instruments are in, C sharp is the same tone as d flat. In just intonation, however, they are subtly different.
Quick primer on tunings, because it's not common knowledge (it is pretty offtopic, but germane to this thread): our old pal Pythagoras discovered that pitch is directly related to the length of the vibrating body (a string, an air column, etc.), and that the simplest ratios of the lengths of two strings are consonant. The most consonant ratio is 2:1 (an octave), followed by 3:2 (a perfect fifth), etc.
To get a scale, start at any pitch and find the next note one perfect fifth up, then the next, and so on until you reach an octave equivalent of your first note, which is your key. Find the octave equivalents of all of those notes and and you've got your scale. This is called just intonation. The only problem is that you're stuck in one key on that instrument, because the octave equivalent isn't exactly an octave equivalent.
To get around this, various methods have been created. The one that caught on was equal temperament (although well temperament was popular in the baroque era--hence the title of "The Well-Tempered Clavier"), in which the intervals between consecutive pitches are equalized, and certain close pitches are made equal (E# F, C# Db, etc.). In essence, every note in an equal tempered scale is a wrong note! They're just close enough that it's not particularly jarring.
---
Zardoz has spoken!
Oper on the Nightstar
We come out with a version of C#, Cocktothorpe, Chash, whatever. Open source, multiple operating systems, cross platform support, faster, better, quicker, etc but OOP! It has some "incompatibilities" with Micro$of+ Csh.
Turnabout's fair play - why don't we embrace, extend, extinguish?
We can call it !C#
--- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
Insistence over control of the language!@?!?!?
Yes!@?!?!?
Didn't they invent the language?
I don't know.. is derivation, invention? In the case of Sun, they promised a cross-platform language suitable for open development. However, as long as they control the standard of the language, or, as long as no outside standards body has say in the mores and means of the language, it is not open - it can be revoked or changed at any time, there is no truly open peer review process for decisions regarding features and etc. Contrast this to C or C++, both of which are controlled by the American National Standards Institute - things don't just mysteriously HAPPEN to C and C++, they are deliberated and discussed, and everyone has a say in what goes on. There will never be a change in C or C++ that initiated in a marketing meeting.
In a different way, but equally valid, is the model of perl, in which changes to the language are loudly and long-windedly discussed, but to which additional extension via the CPAN facility is the norm. There is no 'standard' for changes to perl, but its growth is controlled and nurtured by users to the benefit, mostly, of users. I feel pretty confident in saying that perl, also, is not likely to be steered by corporate mandate.
M$ is promising the same paradigm as Sun for their new language. Those who know Sun know that they are no no less harsh a mistress than M$ within their own arena. I do not like their control, and I do not use their language. A language is not, or should not be a product - it is a tool. Does someone control the design and use of a hammer, pliers or saws?
I do understand that Sun's development model for Java is more open than I've made it sound to be. I don't believe for a second that M$'s will be. If they want to make a closed, controlled language for use by people who pay for it, great, but don't go telling me how open it is, and how cross-platform it's going to be.
HTH!
--
long-winded blue
i browse at -1 because they're funnier than you are.
I see a lot of people confused about the use of "pound" for #.
:)
I don't know about you, but most people I've talked to (proffesionally , at school , conferences, etc) read the C statement
#define
as "pound define" .
I'm not saying that's the only way to pronounce it, I'm not saying everybody should, I'm just saying that for the target audience of this language C/C++/maybe Java programmers, many if not most are used to pronnounce it that way in a programming context not the musical one.
Please, don't take it so seriously !! Geez !!!
- sigs are for wimps.
I got several good laughs from the article, too:
From M$!? That'll be the day. M$ couldn't produce platform independant software if their sales depended on it; they just don't have the skillz. Cool, a language with no syntax. Uh-huh. So this "platform independant", "platform agnostic" new language will allow me to write X apps for Linux? What's that? It only runs on Windoze boxes? That's what I thought. It's platform independant/agnostic how, exactly?M$ is just trying to spin this to minimize publics awareness of the anti-trust conviction.
Get a Linux box!
"The Internet is made of cats."
:)
And yet another voice adds to the babble.
TANJ. TANJ Ain't No Java.
Later,
Blake.
The problem with any Microsoft marketing is that you're bound to create a really wicked parody right out of the gate. Microsoft COOL led almost immediately to Microsoft CRUD (Corrupt Redundant Useless Development) and Microsoft SUCKs (Simple Unified C++ Kits); the parodies for C# are a little harder to come but still suggestive.....
Any others anyone can think of?
The Second Amendment Sisters
Finding God in a Dog
more useless crap that the struggling developer has no want nor need to learn... ... yawn, snore]
Oh well, at least we can take some solace in the fact that it will never be called C Sharp, but reduced to the silly sounding C Pound/number symbol. Anyways, you script kiddies have fun with your new toy, im gonna stick to my C and Java [,and tcl/tk, and assembler, and scheme, and
Lemure, wtf! Don't you mean Lemur?
So I guess if M$ gets broken up, M$ Office, Inc. will support VB and M$ Windows, Inc. will support Db (Oops! I mean C#.).
Does the World actually need yet another language? We've got enough as it is.
Just my $.02
Thad
The Bolachek Journals
That should be "c-pound," as in code by the pound.
As in C with object oriented programming? Does this sound a little like C++? Or maybe they mean just the applet side, which is Java's smallest use. Or maybe they mean like Javascript, in which case they're treading on their own VBscript. I think MS is just trying to wrest control of the internet from anyone or anything not owned and/or run by them.
I've got several questions about this new language of theirs, and I'd like to hear what the Slashdot audience might ahve to say about them. Any takers?
DO NOT LEAVE IT IS NOT REAL
My lawyer was asleep when I was moderated down! I'm a clean-cut upstanding slash-citizen. I don't deserve this. Someone else posted that troll. I have witnesses who can prove it! Tell Amnesty International! Tell Danny Glover!
The blood of my karma is on your hands, Mr. Moderator. I hope you sleep well tonight.
Save the whales. Feed the hungry. Free the mallocs.
The difference is that Java was not created as a direct response to C++, in an effort to compete with the language. It embraces many of the same concepts, but it is a whole new language in its own right. I wouldn't use Java to write a 3D shooter, and I certainly wouldn't want to use C++ to rapidly develop distributed, enterprise web-based applications. C# seems much like M$'s response to Mozilla- just a silly clone.
They have a message passing system called SOAP ...
It's actually an open standard put out by W3C. Check it out here
Just junk food for thought...
That's MS's ace in the hole. No matter how bad it is (at least once it passes the only-crashes-once-an-hour-or-so baseline), they'll be able to browbeat/bribe universities into teaching C#.
MS has "nonrestrictive" contracts with all kinds of university CS departments (including my own at Virginia Tech) to use their software in teaching. At VT, it's "encouraged" in 1000-level CS classes to use Visual C++; it's really dependent on the professor as to how much of a fight you have to put up to use Linux/UNIX-based utils. As you proceed up the levels of classes, the MS evangelism isn't quite as obvious (i.e. teaching the VC++ IDE in class, as is done in the first-semester freshman Programming in C course), but it's still there.
If MS puts it out there, some university CS departments will get a few hundred G's tossed at them, and then C# will become a teaching language there. Enough of these, and enough researchers at such universities detailed onto C#-centric research, and C# will become mainstream, cross-platform utility or no, proprietary or no.
Keys like F, Bb, Eb, Ab, and, to a limited extent, C make us happy. Keys like G, D, A, E, and B give guitarists orgasms but really piss us--or at least me--off.
It's mostly a mental thing. I have to play this piece in E for a friend's wedding, and it took me a while to get used to hearing things in that key, because most jazz charts are in flat-friendly keys. Yes, friends, a LARGE part of playing music is hearing what you're playing inside your head.
Here's how it works:
Microsoft makes money. They make lots of it. They have to, they're a business. Get over it.
They make their money by selling Office (mostly) - and Office runs on Windows (mostly).
They like people to write programs for Windows (and Office, mostly) because that means Microsoft doesn't have to write all the programs (yet) in order for people to want to buy Windows, and Office (mostly). They make more money, everyone's happy (mostly).
It's called developer relations. And they're pretty good at it (mostly).
Well, they started with Basic, and they're still at it - VB is the most widely used programming environment worldwide. And it runs on Windows and does Office and more recently it does Web & server stuff, too. More importantly it does COM, and it makes it really easy, which is key because then 3rd party developers can get in on the deal: more software, more windows, more office, more money.
So what's the problem? Why do they need another language? Well, basically, basic sucks ass. The COM stuff is cool, and the IDE is great for rapid application development, but the language bites (although it's geting better now) and the windowing libraries are looking rather dated. The learning curve for C/C++ is too high, pascal's a good option that delphi did well but Microsoft was happy with the way that VB was going.
Then came Java. Arguably the whole cross-platform package that Sun provided was a really good idea (mostly). There's was one problem - no Windows, no Office, no money. But java's a really nice language. Close enough to C++ (syntactically) to please the C++ crowd, easy and rich enough to please the RAD people, and designed (unwittingly) to be the perfect language to deal with COM objects. Lightbulbs went on. At least, they did for those bright enough to have them. And they went away and wrote a Java VM that not only ran java code pretty-damn-quickly (tm) but did ActiveX, J/Direct and the rest as well. This pissed off the cross-platform crowd much like the spaniards did the catholic church a while back. Anyway: McNealy, Sun, Lawsuits, history. Now java (the language) is only good for one platform: the java platform. No Windows, Office, money. Next.
Take a bunch of smart people (possibly the same ones), the same kind of cool bytecode, JIT compiling, garbage collecting, ActiveX integrating technology, stick a language around it that you don't have to shit bricks of gold for everytime you think about how cool it would be if you could only do... HERETIC!
On top of that put Win32, DCOM/COM+ (and therefore Office, Backoffice, 3rd party components, IE, the lot), whatever NGWS turns out to be and whatever other tricks they come up with and you've got a pretty good bed on which to conduct your sinful developer relations away from the prying eyes of the inquisition. If you like that kind of thing, that is.
Any language will do. Java did quite nicely thank you very much. But then again, so did hand operated looms (mostly).
Personally, I'm waiting to see the VS7 debugger...
That's why Microsoft does call their Java interupter a "JVM", but rather the "Microsoft Virtual Machine for Java". This implies there might be a Microsoft Virtual Machine for C# or VB or COM+/IL or ...
cpeterso