TypeScript: Microsoft's Replacement For JavaScript
mikejuk writes "Everyone seems to have a replacement for JavaScript — Google even has two. Now Microsoft has revealed that Anders Hejlsberg, the father of C# among other languages, has been working on a replacement and it has released a preview of TypeScript. The good news is that it is compatible with JavaScript — you can simply load JavaScript code and run it. JavaScript programs are TypeScript programs. To improve on JavaScript, TypeScript lets you include annotations that allow the compiler to understand what objects and functions support. The annotations are removed by the compiler, making it a zero overhead facility. It also adds a full class construct to make it more like traditional object oriented languages. Not every JavaScript programmer will be pleased about the shift in emphasis, but the way it compiles to a JavaScript constructor is fairly transparent. At this early stage it is difficult to see the development as good. It isn't particularly good for JavaScript developers who already have alternatives, and it isn't good for C# developers who now have confirmation that Ander Hejlsberg is looking elsewhere for his future."
Update: 10/01 20:34 GMT by U L : It's also freely available under under the Apache 2.0 license, and there's a language specification available. It looks pretty interesting: it even has ML-style type inference (including e.g. deducing the types of higher order functions).
JavaScript programs are TypeScript programs.
'Nuff said.
and it isn't good for C# developers who now have confirmation that Ander Hejlsberg is looking elsewhere for his future.
It's C++ all the way down!
Stick Men
Doesn't JavaScript have a better system altogether? Prototypical inheritance?
Classes feel awful in comparison.
And doesn't the next revision have support for classes? I keep forgetting the name of it, H s... oh Harmony?
I'm sure Harmony has a lot of things planned to extend the language massively to bring it up to standards even comparable to other languages.
Regardless, any and every attempt to expand on things is always good.
Yes, even if it is Microsoft. They gave you the website you are using now, remember. (unless you are in the 80s using some text browser)
Competition will hopefully lead to quicker implementations of a much better language overall.
Dart, obviously. But what is the other one? Anyone know what the article writer was talking about?
Well.. maybe. Or Maybe not. But Definitely not sort of.
Sorry..
I am still busy with silverlight...
Oooppss. that did not work....
We have JavaScript and that's shit because no one wants to agree on anything. So what do we get instead? a dozen implementations or something that is in theory nicer but compiles to JavaScript. This is not a solution. It's a mess.
Fix JavaScript or give us something like Python minus the dangerous bits in the browser.
At this early stage it is difficult to see the development as good. It isn't particularly good for JavaScript developers who already have alternatives, and it isn't good for C# developers who now have confirmation that Ander Hejlsberg is looking elsewhere for his future.
Lol, how cute. You're trying to create FUD.
Stop trying to make JavaScript look like your favorite object-oriented language and accept it as is. It's a fantastic, flexible, un-bloated language that requires a different mind-set to master. Improve your JavaScript Engine performance and your DOM implementation, but leave the language alone. There is a reason why it's kicking so much ass. If you want strong, static typed and OO, go support ActionScript.
Bullshit. Look at other languages that compile to JavaScript that also don't pollute the standard:
https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS
The summary is just wrong. JavaScript isn't being replaced. It's being enhanced in an entirely compatible and most importanly voluntary way.
...theirs seems like the right approach. It is certainly a better one than Dart. They've gone out of their way to be as compatible as possible, and really are making it practical for people to adopt the upcoming standards earlier. I really don't see what about this to get so up in arms about. Javascript does need improvements, and this is the best approach to that I've seen so far.
Indeed. Pull people in, but let nobody out. Drink this poison at your own peril.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
I'm going to leave this here as a placeholder for the inevitable...
Fifty watts per channel, baby cakes.
Rubbish. Not a good view of the technology. You might want to watch the channel 9 video and see how the language works before sounding the war horns. Essentially it's an overlay on javascript code that allows the developer to infer useful information about their code. The output from the "compiler" is bog standard javascript, no microsoft extensions at all.
So if the "carpet" ever got pulled out from under you, all you would do is go back to editing the standard .js directly.
Obligatory: http://xkcd.com/927/
Note: please do not mod this post up.
Note: please do mod this post up
coding is life
We already have, what, a couple *hundred* languages to choose from at this point?
https://en.wikipedia.org/wiki/List_of_programming_languages
Can we knock it off with the new effing languages already? Don't these people have anything more useful to do?
It doesn't replace anything. Its simply a higher level language that compiles to cross-compatible JS. And its open standard to boot.
Not seeing any negatives about it. JS is a mess and MS is attempting to clean it up.
Um, the Apache License is significantly more free than the GPL. Just sayin'.
So they converted a version of Scheme into a version of ML. Why? Because F#.
Did I get the gist of it?
to compile my C# algorithms to Javascript. See http://scriptsharp.com/. It's by a Microsoft guy so hopefully it gets official support some day.
Frankly, If Microsoft can Extinguish the JavaScipt Name I'm all for it.
I'm sick of explaining to everyone on earth that Javascript is NOT Java when I tell them they should get rid of the Virus targeted Java Runtime they do not need or updated in three years, but have on their machine just waiting for the next drive by virus to say hello.
In Soviet Russia, Trojan exploits YOU!
nearly sane.
Sticking with C.
How many computer languages do we need? Really?
It's bad enough that you don't trust javascript from webpages, now i have a new type not to trust?
Microsoft, i don't trust you, never have. fuck typescript, fuck Windows 8, and well, fuck you.
Be seeing you...
Considering how JScript turned out, do we want to go down this road again?
"Good, Fast, Cheap: Pick any two" -- RFC 1925
He's simply doing what the JavaScript developers should have done a long time ago -- add some kind of type-checking to the language.
It's about fucking time somebody did it, although I would have rather preferred that it was done within the JavaScript language itself.
But it's not coming from Microsoft. Look at the incompatibilities introduced by their past technologies: C# (copycat from Java) and simply calling it C#, MS Internet Explorer (the worst), Web Form (.NET 2.0), etc, Active Directory (vs LDAP). These are nothing but fads.
Actually C# is a great platform for RAD. Just because it's MS doesn't mean it is always shitty or evil. It isn't on the 5th place of most used languages because it sucks.... Lots of pro's are using it and many a serious C++ picks C# for fast prototyping and development. It's all about knowing what tool to use for what task. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
What was that thing Microsoft used to do that was called? Something like Embrace, Extend and Extinguish?
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
Embrace, Extend, Extinguish.
Microsoft freely admits it, and when everyone jumps on the TypeScript bandwagon, the carpet will be pulled out from under you.
How is this shit modded 'Insightful'? Karma whoring at its best, capitalizing on the nerd rage of geeks frothing at the mouth whenever Microsoft does anything. The fact is it is under an Apache 2.0 license, the spec is available and there are already 5 forks, so unless you have a fundamental misunderstanding of what EEE means you're just trolling.
heyJavaScript = (function (whatYouSay) {
var theFactIs = "You can't touch this! ";
return function (freeLesson) {
freeLesson = "I'm your global daddy!";
setTimeout(function(){
self.heyJavaScript = null;
delete self.heyJavaScript;
alert("So long sucker!");
}, 0);
alert(whatYouSay + theFactIs + freeLesson);
}
})("You talkin to me? ");
heyJavaScript("How about a makeover?");
heyJavaScript("Listen to me man!");
Look at the incompatibilities introduced by their past technologies: C# (copycat from Java) and simply calling it C#
You might as well whinge that Java is an incompatible copycat of Delphi, C# was never meant to be compatible with Java in any way, or do you not have any understanding of what C# is? The lack of cross-platform is the killer for C# (yes there is Mono but it's never up to the same version as the MS CLR).
Web Form (.NET 2.0)
What are you suggesting it was supposed to be compatible with?
Active Directory (vs LDAP).
Again, Active Directory and LDAP were never meant to be compatible.
If you want to jump on the anti-microsoft bandwagon at least try and write a post that makes sense.
Agree, I can't see how anyone is any more 'locked in' to this than they would be if they used say Google Dart.
Beyond that, a lot of it seems to line up with the EcmaScript6 work in progress spec, and Anders seems to be interested in re-aligning to that spec as it moves forward. What I found really interesting above everything else, is that it's an npm (node.js) module, and runs from node.js, not WSH, or some other bastardized environment. As I am working on publishing a JSON web service currently, I already have my object definitions documented in a JSON structure very similar, and may just adjust them all to *.d.ts, since it's fairly obvious the intent. I'm still testing using the newer WebAPI from MS, or simply going Node.js for the API service itself... leaning towards node + mongo... but the option seems fairly clean, and open.
.d.ts files out of coffee-script declarations for classes as well, so that it can be more interoperable. It would also be nice to see other IDEs adopt the idea. I think JS interaction, and intent of code (documentation, and interaction) is the most difficult thing, which this works to resolve... Though it does remind me a lot of ES4/AS3.
I just hope it doesn't wind up another also ran.. It would also be nice to get
Michael J. Ryan - tracker1.info
I think you are missing the point. While it is good the output is 'bog standard' Javascript what really matters is that the source is not 'bog standard Javascript'. Once you start writing in TypeScript you are forever bound to Microsoft. Now there may be compatible implementations but you may get a situation like C# where Microsoft's implementation is not only the foremost, but also the only complete one.
They did a similar trick in years past with C++, where they had so many extensions that you pretty much needed for Windows development that once you started down their C++ path, forever would it dominate your project's destiny. These days their compiler will accept 'bog standard' C++, however to get real stuff done you still have to start using Windows constructs and interfaces (due to Microsoft producing APIs that look like like 'plain vanilla' C++; as many other APIs try to do).
As others have pointed out, "All the roads lead to Microsoft, but none lead out".
Now Microsofties could complain that the open source proponents are whining unfairly about this and it is resticting their, "Freedom to innovate". To that I say simply this, "How about you instead spend the effort on making your browser work like everyone else's?". The amount of workarounds and hacks required to compensate for the borked and agonizingly slow way that Internet Explorer handles (what should be) cross-platform Javascript is 'criminal'. The wastage in businesses and the entire IT industry caused by handling Internet Explorer's brokenness should make them blush. Sure, innovate and make the Javascript experience the best on Microsoft tools and platforms, but don't do it by creating more 'islands' than you have already.
As others have pointed out, TypeScript may be tech flavor-du-jour for Microsoft at the moment (since they're trying to push their mobile solutions), but just like all their other tech it will have a limited shelf-life. You are better choosing truly cross-platform and long lasting tech for building solutions on. Historical examples: C#.NET (still used widely but not getting the Microsoft focus it once did), Visual Basic, COM/DCOM, OLE, C/C++ Win32 etc etc Yes you can still develop with these, but once upon-a-time they were the shizzle promoted by Microsoft and now people have to spend their time maintaining them with old and outdated tools. Meanwhile solutions developed with Standard C/C++, Java, etc get better tools and there are code changes required to maintain them are far more minor.
Bet your solution on the long-lived tech stacks (and increase your long-term profits!).
Once you start writing in TypeScript you are forever bound to Microsoft.
I see you're unfamiliar with the concept of open source: git clone https://git01.codeplex.com/typescript
I suck at editing:
s/due to Microsoft producing APIs that look like like 'plain vanilla' C++/due to Microsoft producing not APIs that look like like 'plain vanilla' C++/
As a cocoa programmer tasked with implementing yet another embedded htmlfucking5 project thanks to Adobe Edge, I wish Javascript would die.
After looking at the myriad of patterns for my current project - a Javascript client REST API - I came to the swift conclusion that most of them are silly, namespace polluting, self initializing mindfucks. I gave up looking at patterns, found a preloader (lab.js - although require.js is looking good) and wrote my own module pattern objects to satisfy the clarity, structure and ease of maintenance requirements of a good API. Being verbose is not a sin in enterprise Javascript.
I have a lot of little helpers like this:
// actually gives you things
// handler
MyCompany.fetchSomething(function (things) {
});
Plus some event handlers
MyCompany.addEventHandler('scope', function (data) {
});
But by far the largest section of my code is the model fetching stuff - you know the really boring bits where copy by value doesn't cut it, I need functions and and objects.
My last trail by fire was a paginated e-book reader with support for embedded video and audio. That wasn't a lot of fun, but at least the CSS3 spec was helpful and the DOM readable. The Javascript in that project was limited to around 200 lines.
I recently discovered that REST libraries are pretty long winded - after 200 or so lines, Javascript becomes a horrible implementation specific mess of spaghettied anonymous function chains. I opted for the Module pattern and ran into lots of fun:
So with MS actually targeting 5 or more of the annoying problems I face, I find this library really useful. But naturally I'll get modded down because, a) I develop Apple software and b) I don't pick sides, I program (I like Windows 7 as my desktop, XCode as my IDE, and Slackware on my shell - go fish!).
Oh well, I can only dream of this being adopted!
For varying perspectives on what constitutes "free."
Just keep calling it "ECMA Script" until it sticks.
Good luck.
Required reading for internet skeptics
We need a clean-slate approach to clientside embedded scripting. Something with
* strong typing
* CLR-like JIT compilation
* solid documentation
* robust cryptographic facilities with hardware acceleration
With everyone rolling out their half-assed attempts at creating something 'better' that's really just another layer on top of the old, bad JS, it's no wonder we're not getting anywhere.
I'm positive that when Microsoft hired Anders they uttered a sentence like "We want to clone Java so it only runs on Windows."
And then .Net was born.
Mod me down, my New Earth Global Warmingist friends!
The probem isn't so much with C# the language/toolset. The problem is that in order for Microsoft to sell you new tools and tech it has to periodically change them just enough so you feel enough pain to shell out for new stuff. The other problem is that while C# is good for development it is clear that it is no longer an object of adoration in Microsoft's strategy. C# will always be around but it won't get the resources that the 'new hotness' team gets (eg. TypeScript). Meanwhile, those that use other tools (standard C++, Java etc) will keep plodding along, continuously evolving.
If you know Aesop's Tortoise versus the Hare fable then this is what is happening now. Those who always watch the speed of the hare miss the fact that a new hare is entered into the race every few years. Meanwhile, those not distracted by the hare are watching the tortoise and see how it is less flashy but progresses continuously. If you built your tech on the tortoise you still have good solutions. If you build your tech with the hare then every few years you either have to rebuild your tech for the new hare (expensive! this is what CTOs worry about and code-monkeys don't), drop your existing investment and start building again for the new hare (expensive and wasteful), or stay with old tech (painful, and now surpassed by the tortoise).
The Green Brain
Playground doesn't work :-( Tested in Firefox and Chrome.
Perl Programmer for hire
Exactly this. Another attempt by microsoft to comandeer a standard and lock people in as they manipulate it to be incompatible.
I don't see that here at all.. it's basically declarative decorators on top of JS... it's far closer to JS than say CoffeeScript is. Though, I didn't like the way AS3/ES4 worked in practice, I think for some projects this can be useful... It also furthers the use of VS2012 as a tool of choice for Node.js dev.
Michael J. Ryan - tracker1.info
I'm looking forward to your 100% similar complaint about coffeescript and dart.
Do you even lift?
These aren't the 'roids you're looking for.
What's broken with JavaScript?
In a few years we've gone from scratching out code by hand to a wealth of JQuery libraries that make my web development easier. I've only used js as something to help the functionality of web pages at the client level / make AJAX calls. Whilst I realise it can be used for other things it seems to fit this need quite well.
So my question: It seems to produce the required outcome in its most prolific implementations so why the need to change it? Who benefits?
Agreed.
C# is a very powerful language and can be really great for some projects.
Its one of the 3 languages I use at work, along with c++ and pascal object (Delphi), for projects in various area.
This looks really interesting.
JavaScript is, hands down, the most frustrating language I have ever worked with in my career, and despite working with it several times a week for 10 years now I still struggle to write clean and reliable code.
The basic syntax of TypeScript looks exactly the same as JavaScript, which is fine with me - JavaScript's syntax is really good. If they have fixed all the scope weirdness and bat-shit-crazy behaviour of things like the date class, then I'm behind them 100%.
While it is good the output is 'bog standard' Javascript what really matters is that the source is not 'bog standard Javascript'.
Most of it is actually bog standard ES6 (for example, classes). The only proprietary bit here are type annotations. Which you can ignore altogether if you want, and then you just get a free, open-source implementation of a convenient subset of ES6 that spits out ES5.
Anyway, this is open source (Apache license), and the implementation is itself written in TS, and runs on Node.js. In other words, it is in no way locked into any existing Microsoft technologies, completely self-sufficient, and you can fork and mod it to your heart's content, on any platform. There is no way to "extinguish" it for Microsoft from this point on, nor control you should you choose to use it, now or in the future.
True. The Apache license is only "more free" than the GPL to the extent that "more free" means that the licensor is imposing less restrictive conditions on the licensee, and thus allowing the licensee more freedom.
Conversely, the GPL is "more free" in the sense that "more free" means that the licensor is imposing more restrictive conditions on the licensee, thus restricting the licensees freedom more.
But I think its pretty clear that the former sense is the sense that most people would understand "more free" in the sense of freedom of a license.
One could, perhaps, make an argument that licensing under the GPL does more to protect certain freedom for hypothetical sub-licensees if the direct licensee is disinterested in their freedom. (If the direct licensee is interested in their freedom, it does less, since the GPL prevents the direct licensee from offering sub-licensees licenses under more free terms, like that of the Apache License.)
Wait... you aren't still using Visual Studio 6?!
"When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
So, what incompatibilities did C# introduce into Java?
Probably one of Go, Closure, Java (via GWT), or C (via NaCl), though I suppose one might see Python and (again) Java (this time, via AppEngine) as "replacements" for server-side JavaScript in the form of Node.js, though that's even a bigger stretch than the others. Dart is the only one that is actually an effort in the direction of a general JavaScript replacement, though.
carpet isn't pulled, it was never there in the first place.
This is explicitly slated with the goal being to find a way to break compatibility by starting with apache 2.0.
If this was Apache 3.0, then we'd be talking about Microsoft trying to benefit the community.
Never touch anything coming from Microsoft unless you plan to sell out wholesale.
If you're an MS shop anyways, then do whatever you want. But if you are not, you should've learnt by now that everything they make is lock-in, bait-and-switch or some other trickery.
Name a counterexample. Pick one that has been around for a while, because they do have a long breath and sometimes give you several years to really bet the farm on their technology before springing the trap.
Assorted stuff I do sometimes: Lemuria.org
So, a very well respected and knowledgable langauge designer brings some concepts to Javascript to add in typing, but in a way that is easy to strip down to Javascript. He is writing a standards draft document and they have a Apache Licensed implementation of that standard. But, since Andres works at Microsoft, this must be yet another plot to fragment the web and make JavaScript Microsoft only, blah, blah, and this must be a stupid idea that nobody will actually use.
If Google has done the exact same thing (err, http://www.dartlang.org), nobody here would bat a eye, and a few would swoon. I know that some (perhaps many), think that Linux dodged a bullet with not supporting Mono, but in the end, all that was gained was a rejection of a useful programming language that is gaining a lot of traction because it does a serve a useful place, one that Java used to fill, but whose process is in complete gridlock, making even the most obvious of language features still unavailable.
This is a useful and well thought out addition to the discussion that needs to happen on how to make Javascript more useful for programmers. To dismiss this and to leave this to Google or any other one Company is not a good idea. To paraphrase Don Box (oh noes, another Microsoft guy): I like static typing. It catches the mistakes we all make, and let me concentrate on other things. I like how Typescript makes it easy to strip this information out, especially compared to Dart.
The ability to do with it what you please, without restriction.
Just keep calling it "ECMA Script" until it sticks.
For some reason, "ECMA" always makes me think of "ACNE". Now it will for you, too ;-)
You're welcome.
When all you have is a hammer, every problem starts to look like a thumb.
Javascript works well for what it was intended to do: adding dynamic functionality to webpages. It only has problems when it's used for something it was not intended to do like building web-based applications or the Flash-like animations of HTML5. These are very different use cases, and I don't think one language to cover them all is a good idea. Developing new languages for the new web technologies is the way to go.
Modde troll is being nice. You clearly are unable to read, and clueless. Trolls at least need to have some clues.
Is it just me or are the MS shills getting even more stupid?
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Is it just me or are the MS shills getting even more stupid?
When Apache 2.0-licensed, publicly available (on Git), already forked code is somehow getting you "locked in" and "manipulated to be incompatible" i think it's safe to say the stupidity lies with all the anti MS morons with their senseless EEE rhetoric. Although given you think pointing out that this is about as open as it can get which makes it the exact opposite of "locking people in" is being a "shill" you're probably not much different.
> The ability to do with it what you please, without restriction.
Every right entails duties. Freedom is no exception.
If Freedom is like a gas and can expand without limits, it ill disappear -- like a gas.
OTOH, by being contained and disposed whenever useful, it can be made available to a lot of people... like LGP.
Or the GPL. ;-)
GPL isn't about freedom for the licensee. It's actually quite restrictive in that regard. But that's the price it pays to make sure the code itself stays free.
NB: Licenses are just tools; use what works for you.
Not if I can convince him it reminds him of ectoplasm.
> Now Microsofties could complain that the open source proponents are whining unfairly about this and it is resticting their, "Freedom to innovate". To that I say simply this, "How about you instead spend the effort on making your browser work like everyone else's?"
Agreed!
So, Microsoft, when is IE (Internet Explorer) going to support WebGL, like every browser does?
This is explicitly slated with the goal being to find a way to break compatibility by starting with apache 2.0.
Break compatibility with what?
What has always bugged me about the whole mess that javascript is, is why don't we ratify a standard instruction set/byte code format, an ABI and API for the browser, as well as HTML extensions ( e.g comes to mind ) and then the browser vendors only have to implement that ( as well as a javascript interpreter on that compiles to it for backwards compatbility ) and we can all write compilers that target that instruction set and get access two a whole lot of language without the baggage that is javascript.... why is this a bad idea ( i am really asking because i think i must be overlooking something )
Congrats for the -1.
That's whta I usually get here, just so that you know...
And just so that you know, I agree on all points -- including what /. was... and I was here at the beginning (spent some time just reading without writing).
IMHO, +5, Insightful for you.
Public has entered the enlightened stage of not taking _anything_ from Microsoft - open or not. Common sense now says there is or will be a catch to it and anyone who takes it will regret it. That is what happens when people get burned repeatedly. They learn. Astroturf this away if you can :)
The ASF adopted the Apache License 2.0 in January 2004. The stated goals of the license included making the license easier for non-ASF projects to use, improving compatibility with GPL-based software, allowing the license to be included by reference instead of listed in every file, clarifying the license on contributions, and requiring a patent license on contributions that necessarily infringe a contributor's own patents.
So there goes your submarine patent conspiracy theory.
So can we finally have a specification that is not bound to a specific implementation? Why in all what is good and holy, do we need the limitation of JavaScript? Just make a byte-language specification, just like the CLR or Java Byte-Code for the DOM stuff.
Then everyone are free to use Python, Ruby, Java or what else as a language, the browser needs only to interpret the Byte-Code that the language-compiler is producing (just like with Java and javac, where you can use any language you like to produce the Java byte-code).
If you are really worried about open source, then answer me this: What is the difference between this and byte-code? There is none, because both are not human-readable. So why not just to agree to a byte-code that interfaces the DOM and html5 and then we can use any language we like to generate the byte-code?
Wouldn't it be nice to fire up your favorite IDE or editor and just write Python or Ruby (or insert here your favorite language) for your web-page? But no, we just have to use JavaScript until the end of the universe.
PS: most browsers are compiling JavaScript to a byte-language anyway nowadays, because then they can optimize the byte-code so JS will run faster.
http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
You have to be kidding! This is like asking the fox to guard the hen house. Their only motive is profit and their top leadership is incompetent. For all of Javascripts problems, trusting Microsoft would be much worse. You might as well as developers to stab themselves in the eye.
Like the inimitable Groucho Marx, I would never join a club that would have me as a member.
And how many patents?
Java was great as well, even released under the GPL but when the chips were down the patents came out, thank god the Judge was sensible and threw them out of the trial.
C# and .Net had very open architectures, the problem was the same as Java, MS had patents on almost every aspect of the system which meant use at your own risk. I'm willing to bet that in short order we'll find out MS has applied for a dozen patents on typescript in the hope that if it becomes popular they can use it as a club against competitors. They HAVE done it before, they will do it again.
"Embrace, Extend, Extinguish."
Exactly.
http://alternatives.rzero.com/
The significance of those languages is not the same as mainstream Javascript (meaning, one already has huge adoption and the others, not so much).
if you want to spread FUD and dismiss facts as "astroturf" go right ahead but it just demonstrates that you have no understanding of open source.
Embrace, Extend, Extinguish.
Microsoft freely admits it, and when everyone jumps on the TypeScript bandwagon, the carpet will be pulled out from under you.
This seems reminiscent of the Excel vs Lotus 123 war and how Microsoft won. Joel Spolsky has a great article describing the tactics M$ used to win the war.
The basic idea was to eliminate barriers that would keep people from switching from Lotus 123. Below are some exerts from the article. I think there are some interesting parallels to Typescript and javascript.
Barrier:They have to convert their existing spreadsheets from 123 to Excel
Solution:Give Excel the capability to read 123 spreadsheets
Barrier:They have to learn a new user interface
Solution:Give Excel the ability to understand Lotus keystrokes, in case you were used to the old way of doing things
> Most of it is actually bog standard ES6 (for example, classes). The only proprietary bit here are type annotations. Which you can ignore altogether if you want, and then you just get a free, open-source implementation of a convenient subset of ES6 that spits out ES5.
You cannot ignore the annotations if the majority of libraries you are attempting to use are 'tainted' with them. This is the problem with injecting proprietary technology (behaviour not specific to Microsoft) into existing and widely used technologies (not only development languages). Historical example: the mutation of Kerberos for Windows, etc etc.
Now, if Microsoft were actually going to do something to improve the Javascript experience they would spend effort into make Internet Explorer work like the other browsers (which, despite pitiful resources, manage to be roughly similar in behaviour) and make it run fast (there are some Javascript operations in IE that are 100x slower than its competitors). I'm suggesting a 'profile guided optimization' here; leave Javascript/Ecmascript alone for now and fix the real point of pain of Microsoft tech on the web/mobile; the Abomination that causes Desolation, and premature aging of web devs (otherwise known as Internet Explorer).
> Anyway, this is open source (Apache license), and the implementation is itself written in TS, and runs on Node.js. In other words, it is in no way locked into any existing Microsoft technologies, completely self-sufficient, and you can fork and mod it to your heart's content, on any platform. There is no way to "extinguish" it for Microsoft from this point on, nor control you should you choose to use it, now or in the future.
Now *that* kind of behaviour is good, and I applaud Microsoft for choosing to do that. I'm sure it was techies like yourself that fought the good fight and sold your management that this was a Good Thing. Well done.
I think after writing sites for IE 6 your opinion will change quite rapidly. :-)
I was shocked beyond belief myself after believing the anti IE hysteria when IE 9 came out. MS should be given credit for at least trying to innovate and catch up. THe problem is its users never and I mean never ever update unless they are forced too with Windows Update! So people's perception of IE has them remembering 11 year old IE 6 with angry memories.
I think this is great if MS adds this but makes current javascript fully compatible with W3C and ECMA standards. However, I can see intranet makers taking advantage of this and creating tie in all over again if MS is not careful (like changes things around so corps have to use ancient browsers and force the whole internet to have a degraded experience)
http://saveie6.com/
And how many patents?
If you are familiar with the Apache 2.0 license you would know it doesn't matter.
Java was great as well, even released under the GPL but when the chips were down the patents came out
The obvious point of difference was the argument that the implementation of Dalvik was not based upon the GPL version of the Java code and thus not eligible for the patent licences. That situation is not analogous with TypeScript's Apache 2.0 licenced code.
They HAVE done it before, they will do it again.
What patented open technology have they introduced that they have then used infringement litigation to crush their competitors with? They certainly haven't done it to Mono with .Net.
I'm positive that when Microsoft hired Anders they uttered a sentence like "We want to clone Java so it only runs on Windows."
And then .Net was born.
And then today Google became bigger than Microsoft in terms of market capitalization, on the back of Linux and Javascript.
When all you have is a hammer, every problem starts to look like a thumb.
Will you guys stop pulling shit out of your ass and wait until there is one fucking hint of an indication it may ever will? You're bigger retards than regular conspiracy theorists.
You cannot ignore the annotations if the majority of libraries you are attempting to use are 'tainted' with them.
Sure you can. You just run the TS compiler on them, get JS output, and stick to that. It's quite intentionally outputting well-formatted JS that very closely mimicks the original code - to the point where language spec itself defines how exactly transformation happens. Right now it's not comment-preserving, but they intend to change that, too. This all will work much better once they start targeting ES6 directly, rather than ES5.
Also note that annotations are purely compile time hints (for warnings, IDE tools etc), they do not change runtime behavior at all. So you can indeed strip every single one without changing semantics.
Now, if Microsoft were actually going to do something to improve the Javascript experience they would spend effort into make Internet Explorer work like the other browsers (which, despite pitiful resources, manage to be roughly similar in behaviour) and make it run fast (there are some Javascript operations in IE that are 100x slower than its competitors). I'm suggesting a 'profile guided optimization' here; leave Javascript/Ecmascript alone for now and fix the real point of pain of Microsoft tech on the web/mobile; the Abomination that causes Desolation, and premature aging of web devs (otherwise known as Internet Explorer).
Admittedly I don't know much about the current flock of issues with IE - not being a web developer - but from what I've heard, IE9 was a massive improvement on IE8, and I've heard good things about IE10 as well - I wonder if your "100x slower than competitors" still applies there?
There is certainly a team that focuses on its JavaScript engine alone, and perf is a major issue for them. TypeScript, on the other hand, is an altogether different team, and people there focus on much different things (for example, runtime perf really isn't their concern - they just produce idiomatic JS, and leave it to the implementation to handle it right). That's why you see e.g. Anders Hejlsberg there, who is the local language design guru. I'd expect JS runtime team to be similarly stuffed with people who have considerable experience with JIT compilers and such.
They both compile to javascript, just like TypeScript. Coffeescript.org's first line is:
"CoffeeScript is a little language that compiles into JavaScript."
They are the same thing.
What are you talking about? There is no Apache 3.0 license that I know of.
Perhaps you confused Apache with the GPL in your rush to type in a knee jerk karma whoring anti-MS comment like you usually do?
This space for rent.
Rather, it seems MS is trying desperately to become more relevant and trustworthy in the open source space. So much so that they will toss their hat in the ring any chance they get.
Javascript seems like a good opportunity, if you're looking at it from their perspective.
Someone flopped a steamer in the gene pool.
There is a LLVM backend that dumps to javascript here https://github.com/kripken/emscripten/wiki.
So, now you can probably run your python, lua, ruby, etc scripts on the client side, you just have to provide a LLVM front-end or a language that can be compiled with one of the pre-existing ones.
Opps, that should have read SDL.
Just remember, its either Open or it isn't, no half way house.
Right and in this case it is indeed Open. You can get the source code from git which is under the Apache 2.0 open source license.
I am not following your logic on this one? What's wrong with C#? VB is still alive and kicking under .NET as well. COM/DCOM and OLE served a purpose during a period of time.
The problem with SpalshMyBandit and his crossplatform choir is that they want technology to just stay still. If something works why change it? right?
Makes sense that the makers of the worst web browser create a replacement for Javascript, NOT!!!
What are you talking about? Seriously. C# is no less important than VB.NET no less important than C++ at Microsoft.
According to your logic, Java should be in trouble because Oracle focuses on databases?
Javascript along with it's creator needs to die a slow death...preferably in a fire.
Every right entails duties. Freedom is no exception.
But the GPL forces developers of derived works to make their work GPL as well, BSD/Apache give you choice, GPL does not, hence it is less free as it takes away choice. BSD/Apache gives the freedom to make your own choice, you aren't forced to make the same choice as the original author like you are with the GPL.
If Freedom is like a gas and can expand without limits, it ill disappear -- like a gas.
And if Freedom is like Hitler it will instigate a holocaust, thankfully just as Freedom is not anything like a gas it is also not anything like Hitler.
OTOH, by being contained and disposed whenever useful
You should never dispose of freedom.
research.microsoft.com has been advancing lots of open source functional languages that use type inference and no one has been getting burned. The research group lets them do cutting edge research and then another research group builds an implementation for more mainstream languages and then it gets pulled in by product management.
So I'd say in the open source language arena the public has learned the opposite.
I'll agree it is different with products as opposed to technologies.
They've had a JavaScript alternative for years, VBScript. IE is not the standard browser anymore and IIS is not the large enough. So they need something more open. But this isn't a change they've had a VB alternative since Microsoft got in the webserver business.
Most likely the Microsoft languages group has no say one way or another over the implementation of the trident engine. Microsoft is not a company with a dozen people.
You obviously have not made any effort to look at TypeScript. You are not bound to TypeScript. You get the output in JavaScript. Take the JavaScript and forget the TypeScript. There is ZERO lock-in.
So, a free country shouldn't take away your choice to have slaves?
C# .NET is historical? Really? Last time I checked MS *just* released .NET 4.5 and C# 5.0. Not to mention C# has been on the *cutting edge* of language design for years while Java is stuck in development hell.
That "yield" keyword that Python 3.3 just added? Guess what mainstream language they got the idea from? The lambda syntax ECMAScript 6, C++11, and CoffeeScript use? Guess where that came from? Hint: NOT Java, Python, Ruby, PHP, Perl, or other open-source language of your choice.
Just wait a few years and watch at how many languages add an "async/await" feature.
Sigh. You didn't read the article either. That is a pity, since it makes you look stupid. Here is a clue for you: MS is not adding this language to the browser. Again, for the slow among us: MS is NOT adding an update to Javascript to their browser. Nothing new is being added to the browser at all.
The new language is doing what Scott Hanselman hinted to some time back, it treats browser-neutral JavaScript as "assembly language". Compilers for better better languages compile their source to browser-neutral JavaScript. What is deployed is not a new language and not a new browser plugin. What is deployed is bog standard JavaScript.
How about all the lawsuits and extortion payments MShit has been hitting Android vendors with. They are actually making more money from these extortion payments than what they are making from their own phone products.
So, a free country shouldn't take away your choice to have slaves?
That would be imposing a restriction of freedom on someone else, which is exactly what the GPL does to the authors of derived works.
You should be free to make your own choice so long as that doesn't affect the choices of others, so long as the original code is still free (which in the Apache/BSD license situation it is) you haven't taken anything away from anyone else and you don't impose restrictions upon anyone else.
Just keep calling it "ECMA Script" until it sticks.
For some reason, "ECMA" always makes me think of "ACNE". Now it will for you, too ;-)
You're welcome.
No, because it already makes me think of eczema which is far more disturbing.
Protoplasm. Quiet Protoplasm. I like quiet protoplasm.
Embrace, Extend, Extinguish.
Microsoft freely admits it, and when everyone jumps on the TypeScript bandwagon, the carpet will be pulled out from under you.
How is this shit modded 'Insightful'? Karma whoring at its best, capitalizing on the nerd rage of geeks frothing at the mouth whenever Microsoft does anything. The fact is it is under an Apache 2.0 license, the spec is available and there are already 5 forks, so unless you have a fundamental misunderstanding of what EEE means you're just trolling.
Under Apache license for all future versions? Not on your life. This is how it starts. Get people hooked, then drag it back to closed source with the latest must have extensions. Have you really been asleep for the last 30 years, or are you just too young to recognize the same old pattern over and over from Microsoft?
The only thing worse than a Democrat is a Republican.
It has nothing to do with whether the direct licensee is interested or disinterested in their freedom. The argument for GPL being 'more free' is that it forces the direct licensee to be at least as free as it has been to him.
People need to stop dragging out Microsoft as the old enemy.. they're fairly irrelevant at this point as they totally failed to extinguish anything in the open source community. In fact the only major things I could see tied to them was Mono, and it was the boycott by the open source community that killed it, not Microsoft themselves.
I'm not defending these Redmond idiots -- they've certainly done their share of evil in the tech world. I'm just saying there are more interesting and evil companies to draw your ire these days. It's not 2001 anymore.
Also, you used M$ presumably as an adult (as you reference a 30-year-old software beef), therefore your argument is invalid.
What about them?
That's the bloody point. Microsoft has a history of screwing things over once they get what they perceive as majority mindshare. The fact that Microsoft is behind it makes EVERYONE (except those on the payroll of Redmond) suspicious. Their track record speaks for itself. Google it... better yet, Bing it so you won't blame google for "FUD".
Honestly, are you that enamored with Microsoft that you can't see the facts as plain as day? This isn't speculation... Microsoft HAS fucked over plenty of things first by making it free, then extending it, and later fucking the alternatives out of business. It makes me sad you can't see that.
It's the Stay-Puft Marshmallow Man.
If you want to dick measure... where do you think C# got its core constructs from? Intelligent aliens? EVERYTHING has come from open-sourced languages... you don't GET where C# is (or Java for that matter) without Lisp, Scheme, etc. Hell, Lisp had if/then/else constructs before ANY other language... it didn't come from IBM, either...
It's the Stay-Puft Marshmallow Man.
As opposed to bind to what? Would you rather "bind" yourself to Microsoft, or Jeremy Ashkenas and Coffeescript? Which one has a better track record in terms of support?
Both have source code available, that any developer could pickup if either entity did ever drop support. Microsoft is not the once evil shade it use to be. Apple stole that spotlight.
While it certainly isn't revolutionary, TypeScript seems to offer some helpful pieces for those of us who write more than jQuery statements.
If you are concerned about having to "learn" something else, then get out of the programming field. Shit changes too fast for you. In reality, all BS aside, how hard is it to read the language spec? Because to any competent developer, this is all it takes to learn the ropes of something new.
Microsoft ALWAYS has a plan to manipulate things or outright control things. It is not unreasonable at all to be suspicious of this too, even if there is no currently visible way that anything underhanded could be done. Act offended if you want but not very many people will care.
"Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
The type annotations/inferences are features that would have been in ES3, had it not been tanked by committee.
HAL 7000, fewer features than the HAL 9000, but just as homicidal!
Yet. They're at the Embrace stage, how long until you have to use their "optional" extras, or it breaks something, or even throws up a harmless error that freaks bosses out. Remember the DR DOS windows error?
He means in the 'dictating policy and direction' way.
I agree with previous comments. Microsoft proven far too many times to be bad. We should not trust it. For all we care it can be Trojan Horse.
Learning this language makes you depend on it. Learning new programming language is not trivial. I don't beleieve this language will be by default crosscompatible with other browsers/platforms/browsers on other platforms.
DON'T TRUST MICROSOFT! IT'S RIGHT THING TO DO!
That's the bloody point.
right! its the fact that its microsoft, you don't care to understand the specifics of this situation, or the license or the ability to access the code or any of that, all you care about is that it is microsoft and that makes you angry.
Honestly, are you that enamored with Microsoft that you can't see the facts as plain as day?
what i can see plain as day is that this is open source, i can download the code, i can see the license, i can read the terms of the license and understand that they cannot screw anyone over with it. obviously you are too blinded by your rage to be able to do these simple things.
This isn't speculation... Microsoft HAS fucked over plenty of things first by making it free, then extending it, and later fucking the alternatives out of business. It makes me sad you can't see that.
wrong! they have never ever made anything open source and then extended it and screwed anyone over troll, you're referring to things that are totally different yet you are too busy frothing at the mouth to understand why this is different. let's see if you can explain the key differences between this situation and the ones you are referring to...can you do that? probably not, you are far too angry to be able to understand what the differences are.
what part of Apache Software License 2.0 and git clone https://git01.codeplex.com/typescript is so difficult for you to understand?
He means in the 'dictating policy and direction' way.
But that wouldn't make sense because the beauty of open source is that if you don't like the direction that the project steward is taking it in you can just fork it, simple.
Under Apache license for all future versions?
Does it matter? Just build your local binary from source and use that, if you're really paranoid then create your own fork at each release, that way if for some reason they come out with a proprietary release and stop doing source releases you can use your own fork or some other community fork, that's the beauty of open source :)
It's under an Apache 2.0 license. Seriously the comments on here are fucking retarded. I don't expect Microsoft to get much love on a site as rapidly biased as slashdot, but I'd like to see how the fuck you lock someone in when it's open source. Maybe we should all boycott Linux because it's obviously an attempt to lock us in as well.
This is the kind of thing that the neckbeards have been calling on Microsoft to do for years, and when they do it, there's just the same old bullshit trashing of their work.
Python 3.3 didn't add a "yield" keyword, it added a "yield from" construct. Python has had "yield" since version 2.2. Python also has type annotations that "don't do anything": http://www.python.org/dev/peps/pep-3107/
Apache 2 license permits a patent trap, whereas GPL v3 doesn't.
Microsoft chose Apache 2 for that reason. Expect to see them announce they've been issued with patents that cover Typescript if ever it was adopted. Best avoided.
And how about patents? Would you bet against me if I said that Microsoft had a bunch of patents pending related to TypeScript?
Pointing to the Microsoft implementation does not refute the argument that you are bound to the Microsoft implementation.
And either doom the fork to incompatibility, or keep playing catch-up, while still being bound to Microsoft, like Mono.
Which definition of ignoring something includes running the bloody thing you are trying to ignore?
You might as well say "sure you can ignore Windows 8, you just install Windows 8".
The output from the "compiler" is bog standard javascript, no microsoft extensions at all.
So if the "carpet" ever got pulled out from under you, all you would do is go back to editing the standard .js directly.
That is not how Microsoft does things. If they handle this the same way they have handled other things the more likely outcome is that they will start sending the raw TypeScript source with the javascript one and let Internet Explorer use the TypeScript directly. Then they will spend less time worrying about getting the compiler to get the javascript right, after all, that is the other browsers problem. The web developers will not get funding for migrating back to standard .js since it is less expensive to find a workaround for the bugs that Microsoft introduces but this leads to ugly and unmanageable code just like always when Microsoft is involved.
There will also be benchmarks that shows that Internet Explorer is way faster at executing TypeScript directly instead of the javascript output, it will still be slower than other browsers javascript interpreters.
Pointing to the Microsoft implementation does not refute the argument that you are bound to the Microsoft implementation.
Like i said, unfamiliar with the concept of open source, you see with an open source project anyone can fork the original implementation, creating their own version that they can modify, use, publish as they see fit. Here's a link to fork typescript. Alternatively you could do a git clone https://git01.codeplex.com/typescript to pull down the source and host it yourself or post it to any other code hosting service if you don't like codeplex.
The beauty of open source is that you don't have to be bound to Microsoft in any way.
Google's Closure (https://developers.google.com/closure/) library does this same sort of thing: type checking, optimization, compilation (via obfuscation.) It uses comments instead of annotations; you just write comments about the type of objects you're passing around in your functions. It also supports inheritance, templates, dependencies, etc. When you're done you just run it through the Closure compiler (or don't, you're just using Javascript) to check everything and compress it down.
And how about patents? Would you bet against me if I said that Microsoft had a bunch of patents pending related to TypeScript?
They released it under the Apache 2.0 license so patents aren't an issue, moreover typescript just emits javascript so the end result that is actually used is just plain javascript anyway.
I'm so LPSTRDisAppOinTed!
I've wasted too much time porting VBscript to JavaScript already, just so that a site I had to maintain would work "cross-browser" (in this context meaning, "on anything other than IE") again.
Also, I've seen what happens with MS "cross platform"/"open" promises. That great platform dot net? Which was ported by the Mono project? I'm bloody impressed how far I got running that on Linux. Of course any of the MS-proprietary SharePoint components are only available as Windows DLLs anyway and won't work.
This is nothing more but another attempt to take over the web.
DO NOT WANT.
You miss the point, I think. When you remove the TypeScript annotations what makes you think the remaining JavaScript will be useful. Usually the annotations are a core part of the implementation that ties disparate parts together. Without them you simply don't get the same application in the remaining code. Hence, it is an issue. Once you start using such things going back is not simple (it also takes time and effort/money to *remove* source components and ensure the remaining code actually works).
if you took microsoft out of this story you would have no argument against it
If you took M$ out of this story, there would be no story. Programming languages are thousand a dime this days.
QED.
All hope abandon ye who enter here.
Not sure where you've been, but Mono is every bit as functional as .Net within months of a new .Net version. The only major variation that I've encountered in my more advanced projects are the Reflection and Reflection.Emit namespaces, which I've had to replace Mono.Cecil based solutions, which frankly work a lot better anyway.
Java doesn't have yield as a keyword. That is not its philosophy to add lots of keywords (like C++), but instead to be like C and add such functionality to libraries (standard libraries in Java's case). Java has had Thread.yield since its release in the mid 90s. Even Java borrowed this concept from elsewhere (eg. pthread).
C# will continue, as I stated. It just won't be the focus of attention for Microsoft that it once was. This follows a historical pattern. I have experienced this with many Microsoft technologies I've used since the early days. Hence, this is a heads-up for anyone currently using it - you will be able to get things done, but don't expect to get the same level of love as you used to (unlike some languages and technologies).
Please elaborate. Why did the committee reject the annotations?
Exactly. To remove the code you still have a reliance on tools and vendors that you might prefer not to. Even if everything is open (as it is in this case, thank goodness), you still have to spend the effort running this 'preprocessor' to remove unwanted constructs. Probably the code that is remaining will lack something that the annotations gave (tying it together), which will require work to adjust the Javascript to work. This is speculation on my part (since I've not used Typescript, and it doesn't solve any particular problem for me, so I won't be using it in the near term), but I would be very surprised if something was not lost when annotations were removed (otherwise, what is the point of even having them?).
Thread.yield (which lets a thread yield control) has no relation to Lua/C#/Python/Javascript1.8 yield (which yields a value from a coroutine). Sure, coroutines can be implemented as libraries, and there were coroutine libs for C# before C#2.0 introduced "yield", but they're less comfortable to use compared to coroutines implemented as first-class citizens.
Go away and hand in your geek badge on your way out.
On the grounds that even they can't possibly fuck it up because it's already unbelievably shite?
> Admittedly I don't know much about the current flock of issues with IE - not being a web developer - but from what I've heard, IE9 was a massive improvement on IE8, and I've heard good things about IE10 as well - I wonder if your "100x slower than competitors" still applies there?
IE is improving, but it is still the bane of web developers. We had horrific performance issues when rendering map layers in IE9. With another client we have tooltips that don't work correctly on IE9 (but do on other browsers). It is true that all browsers have quirks, but IE just happens to have a lot more, and the ones it does have are unfortunately quite noticeable. Hence, a casual Google (or Bing) web search will reveal a lot of poor user experiences with IE9, and tribulations for web developers (feel blessed you don't have to deal with it :) with lots of stuff moving to the web lots of devs can't avoid it).
But that wouldn't make sense because the beauty of open source is that if you don't like the direction that the project steward is taking it in you can just fork it, simple.
And then you not only have to maintain your code, you have to maintain the compiler too. That will help the workflow!
I always think of ITMA.
Where's me washboard?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
C# will always be around but it won't get the resources that the 'new hotness' team gets (eg. TypeScript). Meanwhile, those that use other tools (standard C++, Java etc) will keep plodding along, continuously evolving.
Java has a long way to go till catching up with C#. If the evolution of C# slows down then it would be at the same pace of Java's evolution. For the last years C# has evolved a lot more.
I wish the browser makers would replace that annoying JavaScript language with the elegant, nowadays rarely used (Object) Pascal. Then I'd love to work on AJAX web applications.
-Nahooda
Sigs suck!
"These days their compiler will accept 'bog standard' C++, however to get real stuff done you still have to start using Windows constructs and interfaces (due to Microsoft producing APIs that look like like 'plain vanilla' C++; as many other APIs try to do). "
How is this any different to anyone else's platform? If I write C++ code iOS, Android, or even Linux using the platform native (rather than abstracted overlays of) libraries then I run into the exact same problem. This is merely how native development works, and whilst there are libraries that are cross platform for various tasks, they inevitably result in you having to compromise, for example, many cross platform windowing frameworks simply look awful compared to native versions.
But it's never really been any different, if you want portability you must abstract away from the low level platform specific frameworks, and then write concrete implementations for those abstraction layers on a per-platform basis.
"To that I say simply this, "How about you instead spend the effort on making your browser work like everyone else's?". The amount of workarounds and hacks required to compensate for the borked and agonizingly slow way that Internet Explorer handles (what should be) cross-platform Javascript is 'criminal'."
Sorry but this argument is really outdated now, I'd have agreed with you with IE8 or lower, but since IE9 it's actually one of the least problematic browsers in this respect. Increased competition in the browser market and declining IE marketshare has forced them to raise their game and they really have.
"Historical examples: C#.NET (still used widely but not getting the Microsoft focus it once did)"
This is laughable, are you fucking serious? C# is ahead of most other languages in the field precisely because it has Microsoft's attention, things like lambdas were in C# before C++ and PHP, and afaik, Java is STILL waiting even now. The framework itself is similarly evolving with .NET 4.5 having recently just been released with both the language and the framework recieving a heavy focus on improving parallel programming support. In 4.0 it got the DLR - something which other common languages still don't have. Look: "I don't follow C#'s development" is not the same as "C# doesn't have the focus it used to".
"Visual Basic, COM/DCOM, OLE, C/C++ Win32 etc etc Yes you can still develop with these, but once upon-a-time they were the shizzle promoted by Microsoft and now people have to spend their time maintaining them with old and outdated tools."
This isn't even close to true either, whilst many of these technologies have indeed been superseded one of Microsoft's strengths in business has always been that it does generally do a good job of providing a path to upgrade to new technologies. In fact, in part the motivation behind a number of C# 4's features were to better improve COM interop such as named parameters and to a lesser extent, dynamic typing.
If your argument is that Microsoft should support every ancient and obsolete technology for ever then that shows a bigger lack of understanding as to how technology moves that I cannot help you with. But if your complaint is simply that you get shit on when Microsoft moves technologies then you're completely wrong, it's rare they don't provide an upgrade path- it's not always that way, the creation and subsequent ditching of MDX was a fuckup and there was no easy way for people to move their MDX code to something else that was any easier than just rewriting it, but for the most part they've done a good job of it. Windows Forms could trivially interop with unmanaged Win32 API calls, WPF can interop with Windows Forms and so on.
"Meanwhile solutions developed with Standard C/C++, Java, etc get better tools and there are code changes required to maintain them are far more minor. "
What are these better tools? why are other Java and C++ IDEs still inferior to Visual Studio? Why does Java still lack many of the features C# implemented in
APL only covers those specific claims of those specific patents which are covered by code contributed by patent holder. You still can't implement other claims from a patent and there's still EEE scenario that goes like: a) patent stuff, b) implement extensions in proprietary branch of the project without contributing to open branch, c) ???, d) PROFIT^WEXTINGUISH
MS has gathered a big credit of mistrust in all these years, so it's not easy to believe in their good will now.
Sorry, I don't see how this is so, TypeScript is made available under a Free open source software licence (Apache licence). There is no carpet they can pull.
Oolite: Elite-like game. For Mac, Linux and Windows
But typescript is _open_source_ under a Free (as in freedom) licence, Apache 2.0. How is Microsoft locking anyone in if the actual implementation can be taken and used by anyone?
Oolite: Elite-like game. For Mac, Linux and Windows
VBScript isn't an alternative because only IE supports it. TypeScript might be relevant, particularly because as a superset of Javascript, presumably it's easy to pre-process it into plain vanilla Javascript. (quote : "TypeScript compiles to readable, standards-based JavaScript.")
I *hate* writing code in Javascript, precisely because of it's lack of typing and insane OO model. TypeScript sounds like it makes browser programming more accessible to those of us who prefer a more strongly typed language.
And Java is an open standard. How MS could be locking anyone by inviting them to write for Windows in open language?.. Right until they started plugging in proprietary patented stuff.
He is still using static html pages with frames.
You're just showing your ignorance. Maybe you should read up on C# and how it's managed to find workable solutions for difficult problems that Java in areas where Java has completely failed like generics and queries.
If you're going to criticize something, at least get your facts straight. The C# yield keyword has nothing to do with Thread.yield(), it's for easier implementation of lazy iterators. And there is a very good reason why it is a feature of the language: it actually changes how the method behaves at a fairly deep level. Upon hitting the yield keyword, execution leaves the method and returns there only when another item from the iterator is requested. That's why it can't be just a library.
Well, the Apache 2.0-licensed, publicly available (on Git) code may not get you "locked in" and "manipulated to be incompatible", but the version MS will have in IE12, with very cool extensions that they won't give the code to, or may work only on one OS, might make you sorry you jumped on the TypeScript ship.
Microsoft broke the web about a decade ago, and many/most sites failed to work unless you were running MS Windows and Internet Explorer. It all started on open standards and MS tools to develop for the standards.
They are getting very agressive at pushing web tech again. It would surprise me if they never started adding proprietary MS extensions that are "standard" (only having support from Microsoft and whomever they paid to support it, with no access for anyone else to support it). I will never trust them again until they show decades of good behavior and apologize for breaking the web previously.
Embrace
Extend --- You are here.
Extinguish
I'd agree with you, except I can't think of an open standard they supported without perverting to their advantage when they had the chance.
Ummm let me guess.. PATENTS? Preferably some held by a puppet empty shell company like Nokia, not Microsoft directly?
What has that got to do with anything, please show where the patents they are suing Android vendors with were ever made open?
If you are familiar with the Apache 2.0 license you would know it doesn't matter.
I think I can see what the business plan is:
I find it interesting that the tactics you describe there are actually what most would consider good and honest tactics, in fact these are the same tactics we use in the open source community to encourage converts, making users change less painful is intelligent design. Making user transitions and compatibility is not an evil tactic, it is good common sense and if it is suddenly to be classified as evil then we better burn down the whole open source community.
secondly typescript is not some new product being made compatible with an existing one, it compiles to javascript it even uses node.js and under the Apache License. TypeScript is more of a much needed interface improvement to the language which happens to be where it is headed anyway.
Thank you, I shall wear the +5 with pride knowing that there is at least one other kindred spirit still alive from the first days of Slashdot when it used to mean something and I shall do my best to achieve more -1 badges of honor in the coming months.
The conversion of the sheep into proprietary puppets is nearly complete.
and then immediately lock it down so all the original open goodness is gone. It is indeed Closed.
The tipping point was Excel 4 though, which had the the ability to export back to Lotus 1-2-3 as well.
This was the point at which people went "Hey, if Excel doesn't work out for us, we have nothing to lose, because we can just go back to Lotus!" ; this perception of risk is the most important barrier to overcome, because middle management will choose the ass-covering option every time.
This reminds of Henry Fieldings "Tom Jones": "Once you are got up, kick the stool from under you".
The GPL frees the code from the shackles of proprietary lockins and predatory businesses and code thieving which is what you appear to want to do.
You are free to make your own choices as long as you don't impose those choices on others.
ie. you may use GPL code for yourself and make any modifications you like for your own personal use and you are not forced to re-distribute those changes.
What you are not allowed to do is re-distribute someone elses code without making the code free in turn.
Just becuase you have chosen to update code that belongs to someone else doesn't give you any rights to their code, any other position you would effectively be stealing someone elses copyright code.
The GPL protects the programmer and the freedom of the code.
If the proprietary businesses and code thieves don't like that, well ... oh dear.
Copyright law exists for a reason and I am glad that the GPL gains its strength from that law.
I'm not concerned about being "locked in". What concerns me is fragmentation and the fact that there is no guarantee that TypeScript won't become the next MSHTML.
The Apache 2.0 licence allows Microsoft to fork project at some point in the future under a closed or restricted licence. While you, I or most Slashdot readers might respond to this by migrating to one of the forks, there are many people who follow Microsoft and will go along with anything they do. This could obviously lead to a fragmented internet and take us back to the situation where many websites will only work (correctly) in IE.
Unless the TypeScript project is governed by an open, independent entity, you would be naive to consider that "Embrace, Extend, Extinguish" is not a possibility.
The Apache license is more free in the sense that it permits someone receiving your code to take away that freedom.
The GPL preserves the freedom as the software moves from hand to hand.
Is java an open-source language, that Microsoft could easily donate man hours to contributing to, or is it a closed thing that they are in competition with? Because if it's the latter, the company that owns Java is gonna have a tough run ahead of them.
VBScript isn't an alternative because only IE supports it.
I understand but a good deal of the thread was about a Microsoft takeover or whatever of Javascript and I thought the context of VBScript, that Microsoft has had an alternative and one they preferred was important.
As for building a strongly typed language on top of a dynamically typed one. I think you can author strongly typed DSLs in a dynamic language but I don't think you can really get it to work as a layer that just passes down. The two models are fundamentally in conflict. The dynamically typed code gets used when it is needed for "power" and this pollutes the entire code. In precisely the same way that C's use of void pointers introduces weak typing back into otherwise strongly typed languages like C++, or Objective-C. Something may be better than nothing And if TypeScript makes it possible to create high power GUIs for web programming that's a wonderful step forward.
I should mention the insane OO model in Javascript comes from a fundamental unwillingness to choose functional or object oriented. This is the same problem Perl has, where Perl can have any style for an individual programmer, so once you start pulling in libraries you constantly have to break your paradigm. There are strongly typed high power functional languages but they aren't object oriented. There are strongly typed object oriented languages but they aren't functional. JavaScript makes heavy use of functions, jQuery is fundamentally functional. Either you tie you methods to your data, and you have a hierarchy on your data. Or your functions are highly polymorphic, you have complex types and a hierarchy on them; with instances fo the data being isolated. You can't code both ways.
I've been developing with MS tools and languages for 15+ years and have yet to be burned. Thanks to MS I've made a nice living while having fun.
Nothing old or outdated in C# or even VB.NET.
Better tools than Visual Studio my ass.
Huh, how is c# not getting the MS focus it once did?
Make sure you run 20 or 30 or more of these on every webpage and nest them 4 layers deep so that every browser in the world slowly chokes to death.
Why not leverage all C# features like in http://sharpkit.net/
Man, people that think C# isn't getting The attention it once did from MS aren't paying attention and obviously don't use the language and tools. Funny stuff.
Much like silverlight.
How many use jscript? Does jscript still even exist? Why in the hell can't Microsoft follow conventions and standards? Why do Microsoft devs put up with MS's disain of standards and conventions?
We don't need a new javascript. Put this new "javascript" on your web site and only IE will be able to render your page. Why in the hell would you do that?
And why is the parent comment modded "troll"? It's 100% accurate. Whoever modded him should never get moderation priveleges.
Free Martian Whores!
I thought Hotel California had a patent on this functionality :)
Wow, insightful? Did all of today's mod points go to Redmond? You CANNOT get locked in to an open source platform.
Free Martian Whores!
Just keep calling it "ECMA Script" until it sticks.
For some reason, "ECMA" always makes me think of "ACNE". Now it will for you, too ;-)
You're welcome.
When i hear ECMAscript i think of eczema
I *hate* writing code in Javascript
So do I, but it's the only language you have for web browsers. I'd like to see a scripting language that was more like low level languages than like C.
Yes, I admit, I do little to no real programming any more, I used to use languages like assembly, dBase, NOMAD, DOS shell scripts... none of those frustrating curly braces and crap like that. The advantage of these languages is you have to know how the machine works to use them, the disadvantage to them is that you have to know how the machine works to use them.
Free Martian Whores!
If you are pulling something other than shit out of your arse, I dont want to know.
Right, exactly. Hence why it less free than licenses which are about that.
No, its not. Its the price for compelling other people to make their source free. The source of a permissively licensed work doesn't stop being free just because someone makes a non-free derivative work. The free codebase may become less readily available if the free codebase doesn't attract interst (which is just as true with the GPL as with permissive licenses, though.) The price of keeping the free code available is building a strong and successful community around the free software, which can be done just as well around a permissively-licensed code base as it can be around a GPL code base.
This site is a graveyard of bitter old hackers still fighting 1995s battles. Microsoft aren't in the position to extinguish anything any more.
Increasingly Apple are the ones locking others into their vendor specific implementations. And Google who are embracing and extending with 'free' software to force everyone to fight their battles upon ad-supported grounds where Google reigns supreme. Poor Microsoft is an underdog in the 21st century.
Meanwhile solutions developed with Standard C/C++, Java, etc get better tools and there are code changes required to maintain them are far more minor.
We call that "platform stagnation". Unless, of course, the platform is already perfect and cannot be further improved.
Karma: Poor (Mostly affected by lame karma-joke sigs)
Or the fork is more popular and displaces Microsoft's as the preferred implementation (this has happened in the open source world more than once.)
And Mono isn't really a good example, since its not a fork of an Open Source Microsoft-run project, its a reimplementation of a (partially) open specification, closed-source Microsoft project.
He means in the 'dictating policy and direction' way.
People here forget the concept of Opportunity Cost. Everything costs you some resource: Time, money, brain nurons, carbohydrate energy in your blood, at least something.
I use a simple text editor because I don't want to learn Emacs. I don't decry the tyranny of Emacs, of the evilness that is Stallman locking me into a particular set of key sequences. Oh my deity! Stallman is dictating policy and direction for my text editor!! I just say "I don't want to spend my energy there".
Everything pushes you to a direction. Microsoft does. JavaScript does. ECMAscript does. C does. C++ does. Scheme does. If you're worried that the direction Microsoft pushes you leads to a bad path, fine. But don't kid yourself that by choosing something else that you're no longer being pushed.
You miss the point, I think. When you remove the TypeScript annotations what makes you think the remaining JavaScript will be useful.
Isn't that exactly what the typescript compiler does?
Actually, it was ES4 (ES3 is implemented in all browsers, sorry for the misremembering there!) ; But: slashdot did a post a story on it dying. Short version: politics. Less short version: the type annotations and inference system were being pushed by people from the functional programming camp, and some of the other ECMAScript editors thought the features would be difficult for Javascript programmers and were ultimately useless (because there were existing, seriously more hackish ways, to achieve similar ends). I still think it would have been useful: at the very least the core language and libraries would have been well typed (and more clearly defined)... This mailing list post has a lot of details, but it's written from the side of the victors.
HAL 7000, fewer features than the HAL 9000, but just as homicidal!
Wow! Crazy how much this looks like the Adobe/Mozilla actionscript/javascript3 that Microsoft flat out rejected in standards talks with the ECMA a few years back. I liked it when Adobe came up with it. I like it now that Microsoft is claiming to have come up with the idea. This kind of thing is needed badly by serious developers.
This signature intentionally left blank.
I think you are missing the point. While it is good the output is 'bog standard' Javascript what really matters is that the source is not 'bog standard Javascript'. Once you start writing in TypeScript you are forever bound to Microsoft.
Playing devil's advocate, couldn't the same be said of CoffeeScript?
That is my understanding. When MS releases source under GPL, I will be a little more inclined to trust MS.
Actually, maybe not even then. There are always patents.
There are projects like Blade (https://github.com/vannatech/blade) that compile c# to JS, meaning you don't need to mess with yet another syntax and you get more interesting benefits such as sharing code files between client and server..
Embrace, Extend, Extinguish!
Embrace, Extend, Extinguish!
Embrace, Extend, Extinguish!
Look how smart I am! I can mindlessly repeat irrelevant bullshit. Mod me insightful!
No, it's the lunatics at /. that are getting dumber. Every time they read "Microsoft" they go insane. It's sad really.
1/ The software is fully open source (Apache 2.0 licensed)
2/ It's not really possible to extend something when you are not extending it. RTDA.
Sadly the Microsoft hating morons are out in force on this one. Pity for them. This is actually a good way of improving the JavaScript experience without the possibility of embrace, extend, extinguish, as opposed to, for example Dart.
Exactly. To remove the code you still have a reliance on tools and vendors that you might prefer not to. Even if everything is open (as it is in this case, thank goodness), you still have to spend the effort running this 'preprocessor' to remove unwanted constructs.
The point was that you can do it once to "go back" to JS, and that's that.
Actually, ideally, I'd expect that people who use TS to write JS libraries, would themselves publish the JS version with stripped-out annotations, alongside a separate TS type annotation file. That way they reach a far broader audience while still providing the full convenience of typed API to users of TS.
Probably the code that is remaining will lack something that the annotations gave (tying it together), which will require work to adjust the Javascript to work. This is speculation on my part (since I've not used Typescript, and it doesn't solve any particular problem for me, so I won't be using it in the near term), but I would be very surprised if something was not lost when annotations were removed (otherwise, what is the point of even having them?).
As I've noted in another post, type annotations are purely compile-time and do not affect runtime semantics at all. So if you remove them, nothing changes.
The point of having them is to 1) enable compile-time warnings when you do something that's probably broken at runtime (and try to goad you into inserting the appropriate type assertions otherwise to document non-obvious bits), and 2) enable tools, especially IDEs, to better reason about the code - think code completion, "find all references", "rename symbol" etc.
Public has entered the enlightened stage of not taking _anything_ from Microsoft - open or not
No, not "public". Just "close-minded religious nutcases with no ability to think on their own".
makes EVERYONE (except those on the payroll of Redmond) suspicious
No, just religious nutcases.
Microsoft broke the web about a decade ago
What a load of rubbish. Seriously. Rubbish.
Are you mentally handicapped or something? Did someone steal your reading glasses? Do you actually know how to read? TypeScript is not a language you run in a browser. It can't be extended to support Microsoft only technologies. It is just another way to write bog standard JavaScript. Is that so hard to understand? Yes, Microsoft can alter their version of JavaScript in IE12, in fact I assume they will, JS is a moving target at least until ECMA6. So what? How does that matter? Are you saying all versions of JavaScript in all browsers are the same? If so, you have never done JavaScript.
TypeScript is a compiler that emits JavaScript. TypeScript doesn't run in a browser. TypeScript can not be extended to be incompatible with other browsers since it doesn't run in a browser.
TypesScript can, on the other hand, be used to write JavaScript that is browser specific. Just as JavaScript can be used to write JavaScript that is browser specific.
I really wished the Microsoft hating religious nuts on /. would start reading more than the word "Microsoft" in articles before spouting the ignorant and rather idiotic nonsense on /.
Just keep calling it "ECMA Script" until it sticks.
For some reason, "ECMA" always makes me think of "ACNE". Now it will for you, too ;-)
You're welcome.
Well, "ECMA" makes me think of smegma, so there!
Why in the hell can't Microsoft follow conventions and standards?
They are, they do. Why can't the religious nuts on /. learn how to read? Why do so many /.ers prefer their own religious dogma to observable fact? I mean, mention "Microsoft" in a sentence and these people go more nuts than the Intelligent Design maniacs.
Software Patents.
This is my sig. There are many like it, but this one is mine.
Once you start writing in TypeScript you are forever bound to Microsoft
Why don't you read the f#cking article before you go out and, frothing at the mouth, try to preach a gospel that is provably wrong? You guys are worse than mentally handicapped tea-baggers with an Intelligent Design agenda.
once upon-a-time they were the shizzle promoted by Microsoft and now people have to spend their time maintaining them with old and outdated tools
Which old and outdated tools? Visual Studio 2012?
You cannot ignore the annotations if the majority of libraries you are attempting to use are 'tainted' with them
Yes, you can, and if you had bothered to read the article rather than going nuts at the word "Microsoft", you would have known that.
Probably the code that is remaining will lack something that the annotations gave
Now we know why the first syllable of assumption is "ass". If you had tried to read the article instead of being one, you would have looked a lot less like an idiot.
otherwise, what is the point of even having them?
Again, ass. Read the article, it answers your question and makes you look dumb in one nice package.
I hope not because you would be retarded to want to know that. You can, however, appreciate poetmatt pulling retarded theories out of his butt if it amuses you.
when is IE (Internet Explorer) going to support WebGL, like every browser does?
When WebGL improves and becomes a little less like ActiveX. Microsoft got badly burned by ActiveX and learned that you should be very careful with such extensions. WebGL is a security nightmare. By design.
When you remove the TypeScript annotations what makes you think the remaining JavaScript will be useful
All of it. Next question.
That should be ACME.
Rubbish. Not a good view of the technology. You might want to watch the channel 9 video and see how the language works before sounding the war horns. Essentially it's an overlay on javascript code that allows the developer to infer useful information about their code. The output from the "compiler" is bog standard javascript, no microsoft extensions at all.
So if the "carpet" ever got pulled out from under you, all you would do is go back to editing the standard .js directly.
You sir, are mistaken! Don't you see the "Embrace" part in the "Embrace, Extend, Extinguish" modus operandi? It all starts with an standard-looking tool/language/application/format/whatever. Then they start adding small but non-standard and non-portable "improvements here and there. This is the "Extend" part. I'll leave the next part to your imagination.
Eczema. You're welcome.
Microsoft earned our distrust over many issues over many years, and it will be a cold day in hell before I recommend anything Microsoft-based to anyone. So stick that in your pipe and smoke it.
The output from the "compiler" is bog standard javascript
I have admittedly not looked at the typescript language or any compiler output. Maybe you have if so I'll take your word for it, if not here is my initial reaction.
That is a bit like saying one vendors C compiler with language extensions won't tie you to the vendor because it outputs bog standard ASM. We all know how that worked out for everyone. I have met very few language translators in my IT travels that ever produce output from higher level languages that is particularly readable, maintainable, or in many cases understandable by mortals.
I have seen many attempts to make COBOL to C, C to Pascal, C++ to C, LISP to some other LISP variant, BASIC to other BASIC variant, BASIC to Java, etc stuff. It all typically outputs something that you can compile/execute/run. The best implementations result in something you can live with after lots of manual clean up, but most produce drek that can never replace your original sources going forward or a by hand port thereof.
So just because you get something that is technically javascript out does not mean your large typescript project would have much life in it, if typescript is abandon.
Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
Oh, while I remember, this may be of interest to you. It is a colorful way of comparing modern feature compliance on browsers (and yes, I know that IE is designed for CSS 2.1, but everyone else has moved on to CSS 3 and that is what developers expect to use):
http://www.findmebyip.com/litmus/
Please don't take this as a 'dig' at you or your employer. It's just an FYI from the other side of the fence.
Why do Microsoft devs put up with MS's disain of standards and conventions?
...because they're completely locked into the Microsoft ecosystem where standards don't matter and the Outside World is irrelevant.
It's a combination of arrogance, laziness, ignorance, brainwashing and the Stockholm Syndrome.
(I realise it was a rhetorical question, but there's a shill about here who is being deliberately obtuse.)
I recently experienced someone deciding to write a remote GUI client application for an embedded system (running on Linux and various other OSs) in C# on Windows. We suggested Java, C++, Ruby, you name it, for portability, but he's reasoning was, "It doesn't need to be portable just now." It will never be portable because it uses Windows Forms.
Stick Men
Microsoft broke the web about a decade ago
What a load of rubbish. Seriously. Rubbish.
You, sir, have apparently not done web programming.
The reason we need toolkits like Mootools and others is to primarily mitigate the differences between Internet Explorer and everyone else as Internet Explorer would do things differently enough that it wouldn't work unless you customized it for Internet Explorer, but then it wouldn't work for everyone else. This is also the only reason why people started looking at the browser identifiers.
Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
The "anti MS morons with their senseless EEE" have long history of Microsoft antics to back up their lock in concerns. Maybe Microsoft is for once looking out for the good of the community and not pulling something, but given the history, it is on Microsoft to earn the community trust. As for insulting folks you don't agree by labeling them "morons" and "senseless", just bumped the Microsoft argument a few points down on the trust scale.
Wow, insightful? Did all of today's mod points go to Redmond? You CANNOT get locked in to an open source platform.
That is true of licenses like the LGPL and GPL. It is not necessarily true of BSD, Mit, and Apache licenses as there is nothing keeping them from having their own proprietary, unpublished fork with additional features that are specific to what they want to do - nothing saying they have to tell everyone else either.
Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
Java doesn't have yield as a keyword. That is not its philosophy to add lots of keywords (like C++), but instead to be like C and add such functionality to libraries (standard libraries in Java's case).
Huh? Both C and C++ add a handful of keywords per *decade*, and focus growth on the libraries, not the core language.
IE8 was the one designed for CSS 2.1; the newer versions are meant to be chasing full CSS3 compliance, so it's perfectly reasonable to complain when they don't.
I've tried to google up support for various features in this table in IE10. Apparently CSS3 flexbox, columns, animations, transforms (incl. 3D), transitions, shadows and gradients are all there now, as is text-shadow. On JS side of things you get IndexedDB, workers, sockets, and file API. On HTML side, progress (but not meter), and a good chunk of HTML5 forms. Here is the full list in case I missed anything.
Generally speaking, I'd expect this trend to continue, if only because a lot of that stuff is needed to write full-fledged web apps, and HTML5/JS is now advertised as a prime platform for Win8 app development. So all that stuff like file API or IndexedDB had to be done if only to enable that (and their general guideline is to use standardized APIs where they are available - to the point that they actually block you from accessing WinRT APIs that duplicate that functionality).
Also, with respect to codecs, that table is not entirely correct - IE doesn't support WebM out of the box, but it will use WebM codec if one is available (it's explicitly whitelisted, along with H.264) - so this works once installed. I suspect that this arrangement is a play-it-safe attempt to dodge any potential legal issues by not distributing the codec. That said, I haven't tried it with IE10.
Then you are back to crap old Javascript :(
Optional type checking is a good thing. Backwards compatibility is a good thing. However, personally I think TypeScript is just-another-Javascript (of which we have shitloads of variants already), and too low level to make much of a useful impact. Far better to bite the bullet, and use a high-level abstraction, say Dart, or GWT, or Coffescript etc. Yes, when choosing these you really are committing to a technology - but the point is productivity and the end result. Is adding TypeScript annotations really worth the effort? perhaps for you but certainly not for me. TypeScript is intended to help produce large JavaScript applications but I think there are far better solutions out there for that. Hence, I argue that Microsoft are wasting their time with TypeScript and should have spent effort making IE better. Here's a quick n easy reference for the features peoples are trying to use in modern development, and browser support for them: . Note also these are functional aspects, the terrible performance of IE in certain operations is not addressed on that page.
Incidentally, I noticed you were severely enraged and resorted to calling me an ass. Personally I don't care, but you ought to consider that such fury is bad for your heart and long term health. People making statements on the Internet are probably not worth you getting so mad about - certainly not half a dozen posts to vent your spleen. Pax.
Oops, I forgot to attach the nice reference, here it is:
http://www.findmebyip.com/litmus/
So, for me, Microsoft spending effort on TypeScript is less useful than spending effort on getting IE working right for modern web development. Microsoft does have limited resources, spreading them shot-gun style is interesting for their employees but doesn't fix their fundamental issue, IE sucks and its release cycle so slow that it is always behind its competitors (who are relatively on-par feature-wise).
Oh my God, they were competing with a competing product by making themselves more attractive to the customers! How despicable ! Why can't they be like Blender or something and make everything different so people can't change?
I have done my amount of web programming, for example, by doing Ajax, something Microsoft invented. Yes, IE6 is a broken piece of junk, but it is also an ancient piece of junk. At the time IE6 was released, every single browser "broke the web". There was no such thing as a standard way of doing anything.
If you said that the web as such was seriously broken back when IE6 was released, that would have been reasonably accurate. IE6 didn't do anything special to "break the web", but through inaction, Microsoft allowed IE6 to live significantly longer than it should have. The most likely reason for this was complacency. Yes, Microsoft made things hard by not upgrading IE6 as more modern technologies started permeating the competition, and it also did nothing as the rest of the world moved towards standards, but claiming they broke something in the years after 2001 with a product released in 2001 is absurd.
With IE5 and IE6 though, Microsoft made Ajax possible. How's that for breaking the web.
Technically speaking it is correct. Microsoft didn't break the web with IE6.
At the time it came out it was the best browser, and it improved things for people trying to use CSS2.
Netscape 4.x was still rotting, The newish Netscape 6 had wider CSS2 support but was practically unfinished and very buggy, and Mozilla 1.0 was yet to be released.
What 'broke the web' was not IE6 itself, but Microsoft leaving it to rot for 5 or 6 years.
you can simply load JavaScript code and run it.
.. they don't really replace javascript. they just offer the usual new crap but make it compatible with javascript, maybe because they by now make the sound assumption that otherwise nobody would give a crap on their new crap.
well, i don't give a crap anyways, thanks.
personally I think TypeScript is just-another-Javascript
Why do you keep posting on a topic you haven't bothered to read up on?
Hence, I argue that Microsoft are wasting their time with TypeScript and should have spent effort making IE better
Why on earth would you argue that? Microsoft is clearly, and evidently to anyone with a clue, making IE better. IE9 was a huge step forward, and IE10 is even more so. I use Chrome my self, but for work I have to work with IE as well, and IE9 and 10 are really good browsers in their own right. Arguing that MS should drop TypeScript and work on IE instead is like saying Ford should stop making blue cars and work on better engines instead. The team that does TypeScript probably don't even know who the guys on the IE team is.
Incidentally, I noticed you were severely enraged and resorted to calling me an ass
I was not, I was just pointing out the obvious. People who comment on things based solely on ignorance and bigotry are asses, no matter how you look at it.
Microsoft does have limited resources, spreading them shot-gun style is interesting for their employees but doesn't fix their fundamental issue
Seriously? That is your argument? Do you really think that developing TypeScript in the programming language division of Microsoft, a division that has nothing whatsoever to do with the browser division, slows down the browser guys? Really? Do you think, for example, it would help the browser guys if Anders, who was one of a handful of developers on TypeScript, moved to the browser division? Why would you think that? Ignoring the fact that Anders would leave on the spot, what do you think he could have done to improve the quality of IE10? Oh, and BTW, IE10 is released to MSDN subscribers now (has been for a while) and will be released to the rest of the world in about three weeks.
http://kristopolous.blogspot.no/2011/11/acid3-of-js-has-few-surprises.html
Obviously Microsoft is working very hard to become compliant. What exactly is it that you are complaining about?
Well, the Apache 2.0-licensed, publicly available (on Git) code may not get you "locked in" and "manipulated to be incompatible", but the version MS will have in IE12, with very cool extensions that they won't give the code to, or may work only on one OS, might make you sorry you jumped on the TypeScript ship.
That doesn't event make sense, if you think they are putting a version into IE then you obviously don't even know what typescript is.
I'd agree with you, except I can't think of an open standard they supported without perverting to their advantage when they had the chance.
Apache 2.0 licensed code != open standard
The GPL frees the code from the shackles of proprietary lockins and predatory businesses and code thieving which is what you appear to want to do.
The code is already free, on the Apache license too. How can someone be a code thief if the code is free? By definition you can't steal something that is free, nor can you steal something without depriving people of something, you obviously subscribe to the RIAA/MPAA definition of "stealing".
What you are not allowed to do is re-distribute someone elses code without making the code free in turn.
So the supposedly "free" code you got wasn't actually free, unlike the far more altruistic Apache/BSD licenses where they don't force you into their point of view, they are more tolerant licenses that accept that free and open is not the only way, that different points of view can co-exist, unlike the religiously forceful GPL that denounces any and all other points of view.
Just becuase you have chosen to update code that belongs to someone else doesn't give you any rights to their code, any other position you would effectively be stealing someone elses copyright code.
The only reason you call it "stealing" is because it isn't actually free, you are committing the logical fallacy like the RIAA and MPAA when they call piracy "stealing", nobody has lost anything or been deprived of anything so it is not stealing.
If the proprietary businesses and code thieves don't like that, well ... oh dear.
Copyright law exists for a reason and I am glad that the GPL gains its strength from that law.
Just another RIAA/MPAA shill, trying to redefine the words "thief" and "stealing". If it's stealing then it's not free.
What part of "It is Microsoft" don't you get? I understand the license... I understand that you can fork it. That doesn't prevent Microsoft from withholding new features behind a derived library license, does it? I don't see how they can, but then again, Lawyers have already come up with it at Redmond... rest assured, they will monetize it after its gotten enough penetration in the market.
Everyone likes to bring up C#... which is simply Microsoft's answer to "not being able to put its own MFC extensions in Java" (Remember visual J++)?
I got one thing that will make this entire rant of yours moot. Microsoft claims it has "thousands of patents" that Linux violates. A company that threatens that is NOT friendly to the Open Source community. They aren't. You can't spin it, wiggle it or jack it off until it is... it's simply not true. Microsoft HATES Open Source (decries it at every turn... spends millions getting SCO the Patent Troll to sue over it) and you think because this is currently under an Apache license it's all okay and roses?
Wait, who's the troll here?
It's the Stay-Puft Marshmallow Man.
Nah, makes me thing of Eczema - much worse than mere acne.
People with their heads in the sand can't see it anyway. Microsoft has threatened Linux (and all those who use it) for decades... "Linux violates tons of our patents"... etc. They are anti-OSS. They won't change just because they release this into the wild. They only use free when they can cut off a competitor at the knees (Netscape...) and they force enough of a lock-in with a shit-tacular non-standards compliant browser, we're STILL digging out of the mess Microsoft made because they couldn't bother to conform to existing standards, what 9 versions now FFS?
There won't be a great "I told you so" coming from the OSS "nutcases" (well, except for RMS... he's always pointing it out...) It'll just be another in a long line of things broken, co-opted, shot in the foot, and left to whither that Microsoft is famous for.
It's the Stay-Puft Marshmallow Man.
And either doom the fork to incompatibility, or keep playing catch-up, while still being bound to Microsoft, like Mono.
Incompatibility with what? The only reason you would fork it is if you had a codebase built on it and the mainline version was generating non-compliant javascript.
But that wouldn't make sense because the beauty of open source is that if you don't like the direction that the project steward is taking it in you can just fork it, simple.
And then you not only have to maintain your code, you have to maintain the compiler too. That will help the workflow!
So gcc, llvm, javac, etc... are all bad too then.
You still can't implement other claims from a patent and there's still EEE scenario that goes like: a) patent stuff, b) implement extensions in proprietary branch of the project without contributing to open branch, c) ???, d) PROFIT^WEXTINGUISH
Well that wouldn't be open source then would it, the solution is simple - use the open source version, why are you so desperate to use a proprietary version of it?
MS has gathered a big credit of mistrust in all these years, so it's not easy to believe in their good will now.
You don't need to, that's the whole point of open source!
Ok, I must be too young but I can't remember the last time MS closed some previously open-source framework.
Can you rmind me?
That information is interesting. It sounds as if IE is moving in the right direction. Once corporates adopt it (some time away, I'd imagine) it'll make a big difference for us in the trenches with better compliance.
> I use Chrome my self, but for work I have to work with IE as well, and IE9 and 10 are really good browsers in their own right.
By "use" do you mean "use the browser as a result user", or do you mean "develop web applications for"? If the former then I understand your position, someone else has done all the hard work to patch over IE brokenness for you. In that case you are lucky (if somewhat ignorant of the actual issues).
If the latter, and you create cross-browser solutions, then I'd be very interested to know what toolkit you are using - IE 9 and earlier are a PITA!
> I was not, I was just pointing out the obvious. People who comment on things based solely on ignorance and bigotry are asses, no matter how you look at it.
Huh? you were indeed insulting unnecessarily. Please stop being an obnoxious wanker and then turning around and denying it. I welcome you debating my points, but it stops at you being a jerk. Get a grip on your attitude, please!
> Oh, and BTW, IE10 is released to MSDN subscribers now (has been for a while) and will be released to the rest of the world in about three weeks.
That is good news that IE 10 is improving. In a couple of years it will make it to the corporate desktop. Hopefully the goalposts won't have moved too far by then. Meanwhile, Microsoft will fiddle around creating *yet another* Javascript variant while other companies are progressively eating their lunch. Perhaps you think it is a non-issue but while Microsoft have slipped to #3 tech company by market cap. They can and should do better, but fidgetting with Javascript is not going to help them. Typescript may give an certifiable MSDN type like yourself a woody but to the rest of us hard working devs it is merely putting lipstick on the pig that is Javascript. Personally, I'd much rather Microsoft had competed with GWT through its Project Volta but instead they abandoned it - which is something they may well do with TypeScript (and with other useful but orphaned technologies of theirs). If you don't think TypeScript could be abandoned in the same way then you need to "get some time up" - Apache license or not, it'll always be MS' baby.
Unfortunately what doesn't seem evident to you is that the majority of users just happen to share the same point of view that I do, the current versions of IE are crap and as a result a substantial fraction of people are only IE because their work mandates it (this includes you, according to your post). Defending IE9 makes no sense to this substantial fraction, accept it has a lot more flaws than its competitors and move on.
Now we've been promised "newer, betterer, shinyer" before from IE. If IE 10 indeed nails it then Microsoft have a chance digging themselves out of the "potential well" they are currently in, Hey, I actually have an open mind that IE 10 could actually be great - but have been disappointed so many times before by them I now start very skeptical.
> Obviously Microsoft is working very hard to become compliant. What exactly is it that you are complaining about?
Do, or do not, there is no try. The Microsoft browser currently *publicly* available (that is, pay no money) have poor compliance. The Microsoft browsers currently deployed in enterprise (that is, older versions) have poor compliance. Yet a fanboi like yourself expects us to drool uncritically whenever Microsoft release an extended dialect of Javascript? Now it is excellent Microsoft have woken up - as they do when they are getting their asses handed to them in a particular market. It is excellent that Microsofties like "shutdown -p now" patiently explain their understanding of how TypeScript might be good. However, it is yet to be seen whether IE 10 is a "miracle save" when it is used by the non-MSDN masses that visit all manner of websites and webapps - and whether IE 10 is actually compelling enough for people to leave Chrome and Firefox to flock back to IE 10.
Care to make a wager about voluntary IE 10 adoption?
I understand the license... I understand that you can fork it. That doesn't prevent Microsoft from withholding new features behind a derived library license, does it? I don't see how they can, but then again, Lawyers have already come up with it at Redmond... rest assured, they will monetize it after its gotten enough penetration in the market.
Then obviously you don't understand the license. In fact what is abundantly clear is that you don't even understand what typescript is since you think there is some way they can withhold features to create lock in.
Everyone likes to bring up C#... which is simply Microsoft's answer to "not being able to put its own MFC extensions in Java" (Remember visual J++)?
Do they? I didn't, but you did, why do you want to talk about C#? The fact that you brought that up demonstrates further that you don't understand this issue whatsoever.
I got one thing that will make this entire rant of yours moot. Microsoft claims it has "thousands of patents" that Linux violates.
Now you're bringing up Linux patents? Again not relevant in this situation, but since you don't know anything about this situation you bring it up anyway. I'll bet you can't even tell me why it's not relevant.
Microsoft HATES Open Source (decries it at every turn... spends millions getting SCO the Patent Troll to sue over it)
Then they wouldn't have released open source software, but you seem to think there is a big conspiracy, you don't even know what the conspiracy might be, just that you're sure there is one. Go back to your braindead "2012, the end is nigh!" clan of religious nutbags.
and you think because this is currently under an Apache license it's all okay and roses?
Unlike you i understand the apache license and open source, you seem to think there is some big conspiracy going on and the apache license is flawed and only microsoft knows it and they have patents that they can somehow wield on a tool that spits out javascript and that through this they can make money doing it, that simply demonstrates a fundamental misunderstanding of the Apache license, the concept of open source, Javascript and TypeScript.
Microsoft has threatened Linux
Last time i looked Linux isn't a Microsoft open source product, so it has nothing to do with this, it appears that you have seen Microsoft taking a negative stance on an open source project and through your rage and ignorance have decided that it is the same thing, even though the only similarity is that both products are open source.
Naturally a relevant example would be WiX, as this is a tool kit that was released under GPL by Microsoft nearly a decade ago and is in widespread use, but of course that just disproves your point so you ignore that.
If this were under some microsoft shared source license or perhaps was a proprietary product with only an open spec then i would agree with you, however it isn't, so now you compare this to situations that you think are analogous (even though they aren't) intentionally or through ignorance just to make sure people keep thinking microsoft has some unified anti-OSS stance, even though that is demonstrably false.
and all those who use it
I use linux and nobody from microsoft has ever threatened me, kudos on making yourself look even more idiotic that you already did.
There won't be a great "I told you so" coming from the OSS "nutcases"
Of course not, because this is open source and under the apache license, it's exactly what much of the OSS community wanted microsoft to do, but you can't handle that, you just need an enemy and you need that enemy to be microsoft. i wholly expect that if microsoft were to support webGL in IE people like you would decry webGL as a method of lock in and a patent trap.
The "anti MS morons with their senseless EEE" have long history of Microsoft antics to back up their lock in concerns.
but those are totally unrelatable, the only somewhat relatable situation i can think of is WiX (GPL-licensed) and that has worked out well for nearly a decade. would you suggest everyone avoid google's products because of the wifi snooping scandal or the safari privacy scandal? i would hope not.
As for insulting folks you don't agree by labeling them "morons" and "senseless", just bumped the Microsoft argument a few points down on the trust scale.
its not that i don't agree with them, it's that the very definition of open source and the facts of this situation disprove them but the microsoft bashing on /. ignores the facts. i'd be happy to hear someone address them, by all means go ahead, but instead of that it's people just parrotting mindless "Embrace, Extend, Extinguish" rhetoric whilst being completely ignorant of the fact that such a thing makes no sense in this context.
Microsoft has threatened Linux (and all those who use it) for decades
Ballmer has, on a few occasions, claimed that Linux, to be free, must be patent free, and that it is not. He hasn't stated which patents Linux violates. What he hasn't done though, is actually threaten to do something about it. In other words, he's been FUD'ing more than actually threatening.
Also, considering Microsoft has been one of the largest corporate contributors to Linux kernel code for the past few years, it would seem your paranoia is just a little bit stale. Linux is also an important offering on Azure.
If the latter, and you create cross-browser solutions, then I'd be very interested to know what toolkit you are using - IE 9 and earlier are a PITA!
I build cross-browser solutions for internet consumption. I have no problems at all. Honestly. We do warn IE6 users that they might run into issues since we do not test on IE6, but other than that, no PITA. When starting a project I always include jQuery, Modernizr, 960.gs and lately Knockout. jQuery UI is typically also always a component.
you were indeed insulting unnecessarily
I was just pointing out that strong statements based purely on dogma and ignorance is a little dumb. Your first statements were based purely on dogma and ignorance.
Microsoft will fiddle around creating *yet another* Javascript variant
Wow, you still haven't read about TypeScript. You still base your comments solely on dogma and ignorance. Ass was an understatement.
Typescript may give an certifiable MSDN type like yourself a woody
Sigh. What did I tell you about assumptions? Yes, I develop for Microsoft browsers, but no, I am not an "MSDN type". I use two primary technologies for server-side work depending on how things are to be deployed. I use ASP.NET MVC (which is a really strong web development framework) when I deploy on Windows, and I use JBoss, J2EE and Seam when working on Linux. Currently, on the server side, my efforts are probably 60% J2EE on JBoss, 20% ASP.NET MVC and 20% maintaining a couple of desktop apps written by others. For personal stuff I prefer Ruby, but Ruby is a PITA to deploy.
What does give me "a woody" is anything that can improve the JavaScript programming experience, and that is what TypeScript does. It makes the development experience a lot better without driving me into using a whole new tool set with a completely different programming language. Have you ever wondered why GWT has such a slow up-take at Google? You'd know if you'd tried to use and deploy it.
fanboi like yourself expects us to drool uncritically whenever Microsoft release an extended dialect of Javascript
Again with the assumptions. No, I have not claimed that you should drool over TypeScript, I have just pointed out that making strong statements on something based purely on dogma paired with ignorance of the topic on which you are commenting is more than a little dumb. You seem to disagree with that. That is naturally, since you still insist that dogma and ignorance are good backgrounds for commenting.
Care to make a wager about voluntary IE 10 adoption?
Why would I care? Does it appear to you that I am a fan of IE10 and that I want people to go back to IE10 from Chrome? Have you found a single statement of mine that implies that? If you have, you need to speak to your doctor about those anti-hallucination medications you need.
Here is your problem. You think that I, since I have said that Microsoft has done a good job with IE9 and now IE10, I am a fan of said browsers and that I am dying to use them. Those are assumptions. They are based on dogma and ignorance and no credible evidence. I have said nothing of the kind. You have assumed that when I said Microsoft is getting better, that I am a huge Microsoft fan that wants them to give it to me hard in the out-door. I would recommend you try, in the future, to argue what people in fact say, not what your hallucinations are trying to argue. The voices in your head are not real.
> Wow, you still haven't read about TypeScript. You still base your comments solely on dogma and ignorance. Ass was an understatement.
Is it true or not that TypeScript adds (removable) annotations to Javascript, and hence can be considered a variant of Javascript? true or false?
> You'd know if you'd tried to use and deploy it.
Actually, I know an use GWT daily as well as vaadin. Here's a nice thing, I can use one tech no matter whether I'm on Linux or Windows or Mac. GWTs uptake at Google is irrelevant, because they are solving different problems than the average application developer (eg. how many enterprise apps need MapReduce? how many need to be coded down to the last javascript instruction because of millions of simultaneous users). So your assumption about me is false, and your statement about Google is not thought out. Who is the ass?
> No, I have not claimed that you should drool over TypeScript,
You defended TypeScript and then proceeded to make arguments that I have subsequently addressed. It still remains, Microsoft could have chosen to use Javascript with metadata defined in another file but instead they still want to alter the Javascript you produce (albiet in a way their tool can reverse). Is this incorrect? Without using their tool would the Javascript run without modification in another Javascript engine?
> Does it appear to you that I am a fan of IE10 and that I want people to go back to IE10 from Chrome? Have you found a single statement of mine that implies that?
Hmmm, let me see, "but for work I have to work with IE as well, and IE9 and 10 are really good browsers in their own right. Arguing that MS should drop TypeScript and work on IE instead is like saying Ford should stop making blue cars and work on better engines instead."
Well, I said IE sucks and Microsoft should work on those. In yous statement you say that IE 9 and 10 are "really good browser" (which the bulk of the web development community would disagree with, for IE 9 at least and IE 10 is not yet *publicly* released), and that the IE 10 preview in MSDN is basically gonna kick ass. I can only go on the statements you write, I'm afraid. Hence, any neutral reader would deduce you are a proponent of IE based on your statements - where you meant that you don't feel that my statements about IE brokenness were correct. Now you are backing away from this. This may not have been what you meant, but it is what you said. Therefore, your statements indicate you think IE is "great" and that there is little point in getting Javascript experts involved in fixing Javascript support in IE.
> You think that I, since I have said that Microsoft has done a good job with IE9 and now IE10, I am a fan of said browsers and that I am dying to use them.
I can only go on what *you said*. If you believe IE need work (eg. compared to Chrome) then why be contrary and say they are great? If you don't think that IE has more faults than its current competitors then why attack my statements where I suggest this is a more significant problem than enhancing Javascript with their own set of annotations? Why? Why indulge in your continued ad-hominems ("hallucination medications", "voices in your head are not real" etc) rather than just say, "well I think doing more for Javascript development is good, and maybe IE 9 could use some work for better CSS3 compliance and definitely work on speed-ups in hotspots". Instead, you chose to be obnoxious and spray around insults, then reverting some the stronger positions made in your earlier posts. I would ask why but it is clear, you have a bit of a temper issue and it is you who is dogmatic about defending indefensible positions - is this not true?
Well, of course you have it easy if you don't even have to make it work on IE6 *as well as everything else*. Duh!
You accuse me of being ignorant yet you don't even have to solve the problems I was talking about. Unbelievable! You probably assume that no one else has to deal with the messes of IE 6 and XP as well as the latest and greatest stuff (I don't get to choose what my corporate clients run, they are far too big to dictate to).
I can't believe you have been such an venomous asshat yet you don't even have to solve the same range of problems that other web devs are cursed with - yet somehow you arrogantly assume you know it all and everyone else knows dick. I suppose I should "never attribute to malice what can be attributed to incompetence". Here's a pro tip, if someone is reluctant to use a brand spanking new tech it might even be because they have been bitten by tech (especially Microsoft tech) over the last two decades, and realise that the brochures don't cover all the hooks and pitfalls that can get you into trouble down the road. The reluctance is caution borne from hard-won experience, not some dogmatic crusade against a significant tech player (although it can sometimes seem that way, but admission that Microsoft does things right from time to time is a clue; I praise them for their license in this case).
and you are trying to confuse the word "free".
The GPL is free as in speech not free as in beer.
It uses copyright law to maintain that freedom.
You want it to mean free as in beer and don't like that it isn't although much GPL code is also free as in beer it doesn't have to be.
The price of GPL code is it must be kept free as in speech.
If you don't like the fact that it isn't free as in beer ... unlucky.
I'll concede that copyright infringement is probably not thieving or stealing in the usual understanding but you still wish to take someones else code and make it yours at no cost which is not what GPL is all about, the GPL does not transfer copyright ownership.
Is it true or not that TypeScript adds (removable) annotations to Javascript, and hence can be considered a variant of Javascript? true or false?
False. TypeScript includes removable annotations, but the annotations are not carried over to the compiled JavaScript.
I can use one tech no matter whether I'm on Linux or Windows
Cool, so can I when I work on JBoss related stuff, but how is that relevant for this discussion. TypeScript is built on Node.js and works on all platforms supported by Node.
Hence, any neutral reader would deduce you are a proponent of IE based on your statements
They would? I stated that I work on IE, which anyone who does web development has to. Obviously. I also said that IE9 is a good browser, it is, particularly compared to older versions of IE. But even so, it is quite a decent browser in its own right. I understand you don't feel that way, and you claim (without any backup) that IE9 is not at all good (or so it seems). Can you be specific about what it is about IE9 that is bad? What specific problems have you run into with IE9?
Just to add my point to the above, I had a few places where I had made IE6 specific modifications, and when IE9 was released I still used those when rendering on IE9. That didn't work since IE9 fixed a number of problems IE6 had, and those made the IE6 specific part of my pages show up wrong. I don't know how MS could have done that right though, these were work-arounds for bugs (many div placement bugs) in IE6, fixing those errors would obviously make IE6 specific markup break. I have, using jQuery, Normalizr etc, not had any need for IE9 specifics lately though. There are some things IE9 do not support yet, but that has so far been a non-issue.
Therefore, your statements indicate you think IE is "great" and that there is little point in getting Javascript experts involved in fixing Javascript support in IE.
You are again using assumptions based on ignorance. Why do you continue with that? Microsoft is a huge company. The people who have been doing TypeScript have nothing to do with the browser division. They are working on programming languages with Anders Hejlsberg. Do you understand the difference between a programming language and a browser? Do you understand that someone working on developing programming languages may not want to work on the browser? That moving a person between divisions like that is going to create significant problems with zero benefit? Honestly, if you still think that the fact that Anders and a handful of others working on TypeScript was resource mis-management because they should have been working on fixing IE, then you are a complete moron with no experience from real life whatsoever. It would have been a really stupid idea to move Anders to the IE team. He would have resigned on the spot. It's not even close to his cup-of-tea.
why be contrary and say they are great
Wow, you really are a moron. Seriously. Let's continue with car analogies here. I drive a Volvo S60. It's a really nice car. My friend drives a Toyota Avalon. It's a really nice car. Now, please tell me, was the last statement contrary? Are you really that dumb?
continued ad-hominems
Sigh. As with so many others, you mistake a description of your person as an ad-hominem attack. It is not. Here, I'll try to teach you something today. An ad-hominem attack is an attack that is used to discredit the arguments of a person by attacking the credibility of the person without addressing the persons specific arguments. In other words, "you cant trust this idiot because he is an idiot" is an ad-hominem attack since there is no attempt to refute anything "the idiot" presumably said. "You can't trust this idiots argument because he just made it up on the spot, see here is the evidence, presented by the moron him self",
Well, of course you have it easy if you don't even have to make it work on IE6 *as well as everything else*. Duh!
You accuse me of being ignorant
I think you just proved it. You seem to arguing that IE9 is a bad browser. That is your opinion, but is it a bad browser because IE6 is a bad browser? Is it a bad browser because you have to make your stuff work on IE6 *as well as everything else*? Please enlighten me as to what specifically makes IE9 a bad browser. It sure can't be JS performance since you have to accommodate IE6, with worse performance.
You probably assume that no one else has to deal with the messes of IE 6 and XP
No, I leave baseless assumptions to you. I am not sure how IE6 and XP makes IE9 and later bad though.
I can't believe you have been such an venomous asshat yet you don't even have to solve the same range of problems that other web devs are cursed with
I have been talking about IE9 and 10. IE6 is a piece of junk (today, it was innovative in its time). Why would IE6 and XP be relevant to that discussion? Are you completely incapable of staying on point?
Yes, but proprietary forks of open source are no longer open, are they?
Free Martian Whores!
I'm starting a project at home that this may be a problem for. I have two towers sitting on each side of my TV, an HP running kubuntu using the TV as a monitor, an old Dell running XP that I want to run headless, and a notebook running W7 starter. I'm keeping XP on the Dell so I can run EAC for sampling my old vinyl and tape; EAC only runs on a Windows machine with an optical drive and Audacity lacks some must-have features. I'll have to run the Dell through the HP to get it on-screen.
I'm going to have a hell of a time finding software that will let me run both towers from the notebook (so I won't need to use the HP's wireless keyboard) and have both towers feeding the TV. It should be a challenge!
Free Martian Whores!
Yes, but proprietary forks of open source are no longer open, are they?
True. But the point is that if Microsoft forks TypeScript in that manner - e.g. releases a version on Windows, for IE, etc. that is different from the open source version then they will break it as people will develop for their proprietary version instead of the standard version. Again the whole EEE philosophy.
Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
You have to be kidding.
internet: slashdot.org/comments
Unix: documents/man
Linux: Videos/startrek
Apple: photos/new
MS: MyComp~1\docume~1\games
Ass backwards.
Unix: hda
Linux: hda
Apple: hda (I could be wrong about Apple)
MS: C:
Other examples: IE (all versions, 6 was the worst). Every browser except IE: Slashdot renders fine. IE6-8? I can't even post a damned JE, the slashdot logo is cut off, etc. Most newspapers have text truncated on IE6-8 (IE at work).
Everyone: Javascript. MS: jscript. Everyone: opens and closes as many file formats as possible for any platform. MS: MS only, although they don't always succeed by try mightily. Case in point: my W7 notebook's docs say you have to have W7pro on the network to be able to network, but it works fine on my home network with a kubuntu box (yay, Samba!).
Talk about not reading and religion... sheesh. I have both Linux and Windows (7 and XP) at home. I've run JCL on mainframes at work. What other OSes are you running, Bishop terjeber?
Free Martian Whores!
Technically speaking it is correct. Microsoft didn't break the web with IE6.
I remember doing HTML and JavaScript stuff for IE6, vs Netscape, etc. Even then Netscape, Opera and others were more standardized in how you setup the DOM, how things interacted; and you had to have custom support for IE6. Sure, it was better than IE 5.5; but it was still a bastard to support compared to everything else.
At the time it came out it was the best browser, and it improved things for people trying to use CSS2.
Yes, IE 5.5 and IE6 both supported CSS2 - which was very new on the scene at that point. I wouldn't have expected Netscape 4 to support it very well. Netscape 6 did a good job; the problem was Netscape 6 was very slow. If it wasn't for the performance of Netscape 6 it would have taken off a lot better. Of course, that is also what let Netscape to create Mozilla with Phoenix (e.g. Netscape 7).
Netscape 4.x was still rotting, The newish Netscape 6 had wider CSS2 support but was practically unfinished and very buggy, and Mozilla 1.0 was yet to be released.
Yes, Netscape 4 was rotting; but it was still easier to program for and support than IE6, as was Netscape 6. You didn't have to do anything custom to support it, and IE6 required custom work to support.
Mozilla 1.0 was a suite of stuff from Mozilla which wasn't started until after Netscape 6 was released, and as a result of Netscape 6. Netscape decided they couldn't do it any more the way they were - so they started Phoenix (later Firefox), Thunderbird, SunBird, and several other projects. These projects now are at the top for their respective areas - but it did take time.
What 'broke the web' was not IE6 itself, but Microsoft leaving it to rot for 5 or 6 years.
What broke the web was having to do custom work to support HTML and JavaScript for IE; along with the ActiveX plug-ins, etc. that were IE only and heavily pushed by Microsoft and its partners. It didn't help that Microsoft "won" then left it all to rot.
Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
Have you ever tried to edit post-down-compiled code?
I have done my amount of web programming, for example, by doing Ajax, something Microsoft invented. Yes, IE6 is a broken piece of junk, but it is also an ancient piece of junk. At the time IE6 was released, every single browser "broke the web". There was no such thing as a standard way of doing anything.
If you said that the web as such was seriously broken back when IE6 was released, that would have been reasonably accurate. IE6 didn't do anything special to "break the web", but through inaction, Microsoft allowed IE6 to live significantly longer than it should have. The most likely reason for this was complacency. Yes, Microsoft made things hard by not upgrading IE6 as more modern technologies started permeating the competition, and it also did nothing as the rest of the world moved towards standards, but claiming they broke something in the years after 2001 with a product released in 2001 is absurd.
It was pretty common to use HTML3/4 in a very standard manner. Only, if you did it typically didn't work under IE - IE5 or IE6. It worked quite well under nearly everything else. A good bit of JavaScript could be done in a very standard manner with everything else too - except IE required special support.
IE was Microsoft's way to EEE the web - to try to tie it to the Microsoft platform through custom functionality in the browser so you had to have custom pages for IE, to ActiveX, and more. It was a major PITA even when IE6 was released and mainly due to IE6.
With IE5 and IE6 though, Microsoft made Ajax possible. How's that for breaking the web.
Yes, the XHTMLRequest functionality was a good contribution; one that they initially did internally and later became standard. But it didn't take off due to IE either.
Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
What cracks me up about all these down-compiled versions is this: What other language can handle this well? JS is insanely flexible. It has some things that could do with an upgrade but if you actually bother to learn to write it well, you'll have no use for any of this down-compiled BS. And yes, it's BS. It does tie you to the original language. Writing/editing down-compiled code would be like trying to write/edit minified code only worse because of all the various ridiculous abstractions they'll be using to add classes where none were needed in the first place. JS is absurdly mutable. And yes it's dynamically typed. This has actually worked very well for web UI devs in part because of it's functional nature and in part because we really can't afford verbosity in order to deal with the sorts of BS a UI dev has to deal with.
And yes, it's perfectly scalable in spite of these things if you actually give a damn about architecture. It's the first massively popularly-used functional language. It's not going anywhere. Learn it well so you can avoid the crutches and training wheels that will ultimately alienate talent and that you'll regret implementing five years later.
Brendan Eich made a lot of excellent calls, making Scheme his inspiration in particular, but he's wrong about this rash of down-compiled languages, IMO. They're dead-ends.
MS: MyComp~1\docume~1\games
Seriously? That's an argument? I mean, seriously? Haven't seen that since the 1990s. Are you complaining about the MS-DOS compatibility of the file names? What would have happened if MS had made backwards compatibility impossible? Seriously? Are you complaining about the disk annotation? You do know that that is optional right?
Unix: hda... Apple: hda..... MS: C:
All of the mentioned items, Unix, Linux and Apple, are Unix variations. Are you complaining that Windows is not Unix? Are you trying to look serious when doing so? I mean, seriously?
That IE pre IE9 was junk will get no counter-arguments from me. It was. I have never argued it was not.
Everyone: Javascript. MS: jscript
BZZZT! Wrong. Everyone Javascript. MS: three different ones, including JavaScript. As of IE10, IE is also very standards compliant at the JavaScript end. Again, I have never argued that MS is best, does best, is the greatest. I use Chrome personally almost exclusively, but MS is in fact doing many right things at the moment.
W7 notebook's docs say you have to have W7pro on the network to be able to network
No, it doesn't. Really, it doesn't. Please read it again.
What other OSes are you running
This is a short list of current and previous operating systems I have used.
Current: Windows 7, Windows 8, I have Ubuntu 11 for all my JBoss development at work (since we deploy on Ubuntu, it's easier to use Ubuntu as the dev platform). I use Open Suse 12 at home for my Ruby development but Windows 7 for other app dev. I have Android on my Samsung Galaxy III and Windows Phone 7 on my LG Windows Phone.
My favorite OS in many was was VAX VMS since it had ACLs and file versioning (yep, full versioning. You could go back to any version of your file by just specifying the version number when opening it) built into the operating system while Unix heads were still arguing that a stream of bytes is always best (it isn't, it was a good idea with the hardware at the time, but it has damaged good file systems for decades since) and rwx------ was plenty secure and flexible (it isn't). I ran DOS from the 2.x days, I replaced it on my AT box with Minix first and later version 0.97 of Linux and then there was Slackware - oh heaven. I was a huge fan of OS/2 particularly OS/Warp which kicked everybody's ass at the time, and had some innovations that neither Linux nor Windows ever will have. An OO desktop for example and a fantastic programming model, even better than the NeXT model. Oh, yeah, and I had a NeXT Cube on my desk at Uni, it looked awesome but was basically (in the end) useless.
Most of this I did while you were still having your butt wiped by your mother.
Go have a look at the compatibility tables on quirksmode.org and you tell me who held back client-side web development by a good solid decade on a number of fronts. We could center vertically in all major browsers since 2002ish, except for IE. Not until IE8. Navigator had table display properties back when it was competing with IE6.
MS did give us XHR and they also gave us innerHTML. All the browser vendors have added new features that ultimately got popular and copied by other browsers and transferred to normalizing specs for future implementation with MS of course not feeling it was necessary to conform to specs that redesigned the API of stuff they invented or stuff they just didn't feel like changing for 10 years, like an event registration model that didn't just write over the same global object for event properties or adding newer obscenely useful native DOM getters that are still the bain of jQuery selector performance for things like $('.someClass') in IE=8
The problem with MS, is that all they knew how to do was add to what was already there and their idiotic coupling of browser to OS for no good reason that had anything to do with healthy competitive business practices made it impossible for them to update their busted up tightly-coupled-to-other-ms-products-browsers beyond dire security issues so we had to wait for new releases that never managed to get caught up with the curve.
So yeah, they've kind of been a pain in our asses for 10 years. I'll give them the nod for finally taking the problem seriously starting with IE9 but XHR/Ajax was inevitable and really nothing more fancy than an HTTP request/response mechanism that doesn't refresh the web page. They don't get off the hook for inventing the inevitable.
I'll give them the nod for finally taking the problem seriously starting with IE9
Which seems to be what I am doing. I am not saying much else, am I?
I sent you the CSS3 compatibility link didn't I? Maybe not. Here is a handy comparison between browsers:
http://www.findmebyip.com/litmus/
Note: IE9 is supposed to be CSS3 compliant (as stated by Slashdot user "shutdown -p now", who is a nice Microsoftie, although not on the browser team).
Perhaps you've been lucky enough not to be screwed up by all those read crosses, hence IE 9 is still golden for you. It just doesn't happen to be that way for some of us. You may still think I am an idiot, but I my experience is backed by a large number of fellow developers (as shown by that site, ).
It is my wish that Microsoft patch their older browsers for better compliance. Now IE 10 may be great, but the reality is we won't see in large enterprises for a few years. The pain developers feel is *now*. Hence my point, don't frig around adding single-vendor annotations to JScript, spend every ounce of effort fixing the dogs you already have running out on the real world - throw in every talented hand you have (why? because the current effort falls short). Yes, this is hyperbole, but it is meant to indicate that effort is being wasted creating new balkanizing technologies rather than fixing what is already in use.
I sent you the CSS3 compatibility link didn't I?
Yes. And? Has anyone ever stated IE9 is perfect? No, it is a very significant improvement on all other IE browsers, something you will probably find 100% consensus about in the web development community. IE 10 is up there with Chrome, and on JavaScript, it is better than Chrome.
It is my wish that Microsoft patch their older browsers for better compliance
Nobody does that. The patch is called IE9 and IE10.
Hence my point, don't frig around adding single-vendor annotations to JScript, spend every ounce of effort fixing the dogs you already have running out on the real world
And you are still spouting nonsense out of your ignorant ass. Really. Check it out. They are not working on JScript at all, they are working on JavaScript, and the annotations they are adding are not single vendor. If you had not been so fucking retarded that you had to go an spout all kinds of nonsense about a technology you have not bothered (I am assuming it must be due to the lack of ability) to read a damned thing about. Hint: The annotations are in line with ECMA future. Check it out and stop being such a fucking idiot.
In short, in case your comatose brain didn't get it, TypeScript gives you ECMA 6 with browsers that currently do not support it. Since ECMA 6 is in flux at the moment, expect TypeScript to change accordingly. Really, it is right there, in the articles and everything. ECMA, not vendor specific. Now go ask your mum for your weekly allowance and go get your self some books on Reading 101.
> False. TypeScript includes removable annotations, but the annotations are not carried over to the compiled JavaScript.
TypeScript *is* a dialect of Javascript. Just because you convert it to Javascript means nothing (just as the Javascript being converted to machine instructions in the browser means nothing in the context of our discussion). By working in TypeScript you are still working in a single-vendor dialect of Javascript (eg. JScript). Now from your posts you seem to be a bit of an absolutist. Just because the compiler has been placed under the Apache license you believe you are not subject to lock-in. This is an absolutist and technologist point of view. To those less absolutist, say a businessman/CTO/consultant, then the lock-in is still there. Once you have a large code base written in TypeScript it is a pain to convert back to pure Javascript should you want to - yes the tool is provided, but this still takes time and effort (as in, money). This is still single-vendor lock in, just not as constrictive as it has been in the past. Don't think this is so? Well, you could always write C++ with various compiler-specific (eg. GNU) macros. Yes, you can strip these out and even have a functional program, but the effort to do so on a large code base is prohibitive - not because of technological reasons but because of practical business reasons. I will sound the same caution for those considering solutions that use custom GNU macros in their C++ as I am to those that think it is better to choose TypeScript rather than cross-browser JavaScript. The TypeScript project currently provides an out and is not too intrusive, but looking at history there is little guarantee this won't change (and less guaranteed that the whole technology won't bomb, as many Microsoft efforts have in the past). Hence, I urge caution of those considering adopting it as a direct implementation language (better to let their tools use it under the hood).
Now if you really want to improve the web experience why do a half-assed solution like TypeScript? If you are going to use a JavaScript-esque language then why not just bite the bullet and use something else (like Google's two languages, that have been around for longer and are reasonably well proven).
> You know nothing about me
This was in response to your post about me being in "diapers" while you were futzing around with Sun gear. Incidentally, both my brother and I were amazed when the Linux kernel we'd been using for a while reached 0.20 (not a typo). So (bad joke alert) you are still a short timer in my book. Off topic, I'm also curious why you hate Solaris. I always found it incredibly stable, and CDE was pretty good for the time (although it is incredibly dated now). Now it turns out you know nothing about me (eg. the PhD in Astrophysics, doing high-throughput image processing etc), but you still assume that I know nothing, despite you being incensed at me doing the same to you (sorry, it was teasing, I hope you can see your statements make assumptions about me, to which I responded in a way that made assumptions about you).
> It doesn't mean that I can't realize that Windows 8 server is probably the very best commodity operating systems for servers on the market today by a very decent margin
You are thinking like a technologist here and not a businessman. Windows server is decent (fortunately debacles like "Windows for Warships" are in the past). However, it cannot compete on *price* with Linux servers: both in terms of licensing cost, in terms of hardware required (headless for high-performance instances that aren't virtualized), and cheaper in terms of human labour per compute unit to maintain. When your go large you don't go Windows (as Google and the supercomputer clusters attest to). So Windows 8 is indeed excellent, but at least qualify your statement to say, "for SMEs" (Small-to-Medium Enterprises) as belies your experience. Windows 8 is not the absolute best commodity OS for all purposes, k?
> Java is stuck in committee
Let's see, some basic citations for you:
From: http://en.wikipedia.org/wiki/JScript
"JScript was first supported in the Internet Explorer 3.0 browser released in August 1996. Its most recent version is JScript 9.0, included in Internet Explorer 9."
and
http://en.wikipedia.org/wiki/Chakra_(JScript_engine)
http://msdn.microsoft.com/en-us/library/hbxc2t98(VS.85).aspx
As explained by JavaScript guru Douglas Crockford in his talk entitled The JavaScript Programming Language on YUI Theater,
[Microsoft] did not want to deal with Sun about the trademark issue, and so they called their implementation JScript. A lot of people think that JScript and JavaScript are different but similar languages. That's not the case. They are just different names for the same language, and the reason the names are different was to get around trademark issues.[5]
JScript supports conditional compilation, which allows a programmer to selectively execute code within block comments. This is an extension to the ECMAScript standard that is not supported in other JavaScript implementations.
> "They are not working on JScript at all, they are working on JavaScript" ... and your apoplexy was again for wrong reasons.
Lol, fail. "JScript" is Microsoft's trade name for their JavaScript implementation (at ECMAScript 3 level). There is no difference. Microsoft do as I did, use the term to denote that their Javascript variant (I did it to distinguish variants, they do it for trademark reasons). Now in IE 10 the tradename "JScript" may or may not be used officially - but it doesn't change anything for the purposes of our discussion. Your point was wrong
> Nobody does that. The patch is called IE9 and IE10.
I have given a link to IE9's significant compatibility flaws. It needs to be patched. So should IE 8. Yes, vendors do patch older versions of their products - this is industry wide. For developers it is called "working on multiple branches", and I have to do this all the time. I'm sure an experienced fellow like you has come across this, and is aware that is it critical to maintain older stuff in the enterprise space. Suggesting you fix things by just replacing the old with the new (eg. as small outfits can) is not realistic. In fact, back-ports and patching is something Microsoft is exceptionally good at in general - supporting and patching older stuff - just not with their browser. Hence, I see it as a possibility that *if* they focused they could fix their deployed browser base in the near future [without going to an entirely untested version, or resorting to JavaScript extensions]. This was the point I was trying to make.
> IE 10 is up there with Chrome, and on JavaScript, it is better than Chrome.
Great. Shame it is not yet released to the non-MSDN public. Shame it is not in the enterprise and won't be for some time. IE 10 is still not relevant to this discussion *at this point in time*. When it does I'll re-evaluate the compliance. Meanwhile, the only things that matter are the compliance of the deployed IE base and whether or not they get useful patches in the near term. No patches forthcoming means IE will still be despised - this is how my clients perceive IE.
Not quite. Netscape 6 was forked off the already existing Mozilla Suite codebase (Mozilla being the open source development project for Netscape). I seem to remember Netscape 6.0 being based on Mozilla 0.6 or so, which explains why Netscape 6 was so buggy/unfinished.
Netscape was so desperate to get something out the door after the Netscape 5 failure and ongoing delays in stabilising Mozilla, that they were willing to ship a relatively early Mozilla pre release. It was Netscape 7 that was based off Mozilla 1.0.
And Firefox (ie Phoenix at the time) wasn't a Netscape driven project - it was a reaction by some Netscape/Mozilla developers against where Netscape was taking the Mozilla browser. The success of the Firefox "fork" was one of the many nails in Netscapes coffin.
By working in TypeScript you are still working in a single-vendor dialect of Javascript
You keep saying stupid ignorant stuff like this. You repeating it doesn't make it less stupid and it doesn't make it less ignorant. You should have taken my advice a long time ago and learned a little bit about what TypeScript is. No, it is not single-vendor, it is ECMA JS 6. The fact that you don't know that shows that you have not tried to educate your self, and that you are still sticking to ignorant dogma. That is really, really dumb.
Once you have a large code base written in TypeScript it is a pain to convert back to pure Javascript should you want to
Nope. Wrong again. And again. And again. Everything you say about TS is wrong. That's why you are an idiot. Not because you are wrong, but because, despite numerous attempts on my part, you still stubbornly refuse to learn anything about TypeScript. It means that you are an idiot. Here is why you are wrong (so that this is not an ad-hominem): It takes zero time to convert back to pure Javascript since you had to do that to make TypeScript run at all. TypeScript will not run in any browser, first you have to convert it to pure Javascript. The fact that you still don't know this is yet another proof that you are ignorant and proud of it. It takes zero time to convert to pure Javascript if for example MS abandons TS because you already have converted it to pure JS. There now, I said it twice. If you can't understand what I said, have an adult read it for you and explain it to you.
why do a half-assed solution like TypeScript
Because it is Javascript. Because it is ECMA 6. That is a fucking good idea.
Well, you could always write C++ with various compiler-specific (eg. GNU) macros.
So, does the C++ compiler, when using the compiler specific macros, compile to pure C++ without that compiler specificity, and then run that C++ code directly? No? I thought not. You see, that is what TS does, and you still don't know that because you are too full of ignorance to realize how stupid you are.
I urge caution of those considering adopting it as a direct implementation language
Again, your ignorance is talking.
Incidentally, both my brother and I were amazed when the Linux kernel we'd been using for a while reached 0.20 (not a typo).
Are you absolutely certain it is not a typo? For sure? Really? Lets see. There was the announcement and 0.01, then came 0.02, 0.03 and 0.10, then 0.11 followed by 0.12 and then 0.95. Yes, you are a dumb little liar, are you not? Before trying to give your self and your brother some credit you do not deserve, at least read a little bit about the stuff you are going to write half-truths about. In case you didn't get that, which seems like an extraordinary high probability, there was no 0.20 version of Linux. You have to ask Linus him self about why he jumped like that, but I doubt you'll get an answer.
headless for high-performance instances that aren't virtualized
Ah, so you don't know that Windows Server can run headless, do you? Also, being in an organization that runs Windows and Linux servers, Linux is clearly more expensive to manage. Licensing costs are nothing compared to management and support cost. Managing and AD or equivalent infrastructure for, say 1000 to 5000 people is a hell of a lot easier on Windows than on Linux.
Outdated. Java is unstuck and moving again.
Not really. It is still managed by a totally dysfunctional committee with a totally broken process. Sorry, Java is the COBOL of this decade and the next few. Heck, they even need to go back and undo some of the damage done previously. Autoboxing in Java for example is a disaster and utterly broken. You can't do autoboxing in the compiler it has to be in the VM
and you are trying to confuse the word "free".
Nope, the code is free "in terms of freedom", that is something i'm well aware of and it is the context in which i used the term free, because we are comparing GPL and Apache free software licenses and $free is not a difference between them.
You want it to mean free as in beer and don't like that it isn't although much GPL code is also free as in beer it doesn't have to be.
Where did i say or imply that? Apache licensed software is no more $free than GPL code. I don't want it to be $free, i never said anything of the sort, seems you've run out of arguments and are resorting to putting words in my mouth now, sad.
The price of GPL code is it must be kept free as in speech.
It is kept free, and so is Apache code, someone can't just come and close the Apache code making it unavailable, nobody is taking anything away.
If you don't like the fact that it isn't free as in beer ... unlucky.
I'm indifferent on that issue, but of course i never brought that up because it is irrelevant since this is a discussion on GPL and Apache/BSD licenses and $free is not a defining characteristic of either...but you didn't know that did you.
I'll concede that copyright infringement is probably not thieving or stealing in the usual understanding but you still wish to take someones else code and make it yours at no cost which is not what GPL is all about, the GPL does not transfer copyright ownership.
No i don't, if i wanted to do that i wouldn't be advocating an Apache/BSD-style license now would i? Or don't you know anything about Apache/BSD licenses (hint, they don't transfer copyright ownership)? Maybe you should do some research. If you think it in any way relates to $free then it is clear you don't understand the issue (or the licenses in question).
My bad on JScript, I was unaware of this. You have caught my in my first error - the name of a product.
They are not working on JScript at all, they are working on JavaScript
Lol, fail. "JScript" is Microsoft's trade name for their JavaScript implementation
You are correct, but Anders is not working on JScript since he is (though you want him to) not working on a Microsoft browser language. Anders is working on TypeScript in JavaScript running on Node.js. If you do not understand what that means, make your brother boot his non-existing version of Linux 0.20 and run "man moron".
I have given a link to IE9's significant compatibility flaws
Which, specifically, are significant, and for what reason?
Suggesting you fix things by just replacing the old with the new (eg. as small outfits can) is not realistic
Here is again an area where your ignorance is showing. Enterprise is not clinging to IE6 because they are on XP (they can upgrade any time) they cling to it because so many apps are written for IE6 specifically, and will only work on IE6. Now, if Microsoft patches IE6 so that it becomes more standards compliant, those things will break. You see, that is why they can not move, using a standards compliant browser with these web applications won't work. So, how do you suppose Microsoft make IE6 standards compliant without breaking the apps that assumes IE6 is not standards compliant? Again, you are a big nice beacon of ignorance and stupidity.
Shame it is not yet released to the non-MSDN public
In three weeks.
IE 10 is still not relevant to this discussion *at this point in time*.
Actually it is. You are claiming MS isn't doing enough to catch up to standards. IE9 was a huge step in the right direction, and IE10 will be even more so. Both, even though IE10 is not yet released, proves you wrong.
whether or not they get useful patches in the near term
Three weeks, too long for you? Then get the pre-release version. It's free.
> My bad on JScript, I was unaware of this. You have caught my in my first error - the name of a product.
Bro, this is a fundamental fail. At least you can admit you were wrong. Here, I'll do the same. I txted my bro and and he is a bit fuzzy (20 years ago) but thinks it was kernel 0.12. We're both old timers, so your initial statement of be being in "diapers" ("nappies" they are called in my part of the world) was your attempt to circumvent debate but was incorrect. Incidentally, your "Yes, you are a dumb little liar, are you not?" statement is another fail. Completely unnecessary and uncivilized. It is ok for people to be wrong (as you point out), your behaviour is not ok on a public forum no matter how wrong you think I might be. In this case, you learned something about your bread and butter trade. In contrast, I knew you were wrong about JScript yet did I pillory you for it? No, I tried to be patient and get citations for you and convince you through reason rather than insults.
With regard to TypeScript, I have been to http://www.typescriptlang.org/ and http://typescript.codeplex.com/ and noticed out of the 37k page views and 14k+ visitors there have been 236 downloads. Looks like they're on to a winner there.I better bet my business on it quick.. With regard to your crew (oh, I hope you treat them well), yes learning ECMA script 6 is worthwhile. Although as Henry Ford famously said, "If I had asked people what they wanted, they would have said faster horses.". IMHO (and it is my opinion), you'd be better off training them to use GWT or vaadin or Script# or something like that. As is often said on the interweb, developing in JavaScript (and TypeScript) is analogous to developing in assembler. Yes you can do cool things, but by focussing on that you are missing out on the important big picture.
By all means, bet your business on TypeScript. Hopefully you will be a success (and all that TypeScript is still useable, if only the JavaScript is usable then why bother with the TypeScript extensions at all? why not just stick with your JS?). Meanwhile I'll still be recommending GWT and vaadin for higher productivity and great interactivity and a big ecosystem.
> Also, my error rate in C# is lower than in Java because I have to write quite a lot less code in C# compared to Java.
Most of the extra boilerplate code in Java should be generated. There are a few savings in C# compared to Java on smaller projects, but on big projects the time and effort is in complex logic, not boilerplate. LINQ is great. For you this is obviously sufficient. For me, cross-platform is vastly more important and the advantage of LINQ over JPA2 is not enough (don't worry, I understand that this is not your view, I'm just presenting mine). With regard to error rate, well I never care what the initial rate is - only the rate once you have finish unit, integration and system testing (which should make both languages the same given the same functionality).
> With the new .NET 4.5 and things like async/await, writing scalable server applications is going to be even easier, probably increasing the 20% to some 30-40% given the number of problems found in async programming which is now a breeze in C# and .NET.
Handy, but the amount of lines you save over a Java Runnable in a quarter million line program is completely negligible in my personal experience. The effort is expended elsewhere. However, async/await may just be handy to bang smaller stuff out quickly.
> You can't do autoboxing in the compiler it has to be in the VM.
Yeah, the obsession with maintaining backward compatibility at the bytecode level is indeed a bitch. I do like how old stuff and libraries still work though. Fair enough if you hate the cruft.
I txted my bro and and he is a bit fuzzy (20 years ago) but thinks it was kernel 0.12
OK, I'll bite. Let's assume it was 0.12. I am then going to ask you a very simple question - how did you install 0.12 on your PC? Tell me approximately what you downloaded, how you created disk images and how it was booted. If you used 0.12, you'll remember.
By all means, bet your business on TypeScript
Again, you are showing a total lack of understanding of what TS is. You do not understand why the annotations are there at all do you?
Meanwhile I'll still be recommending GWT
That's interesting. So, instead of using an open standard with standardized protocols like REST, JSON etc, you are recommending a closed source project where you are so extremely tied to the tools that if the vendor decides to drop the project, you are going to have to do all your apps over from the start. Seriously?
However, async/await may just be handy to bang smaller stuff out quickly
You are really funny. Why would async/await be handy to bang out smaller stuff quickly? Async/await isn't really relevant for anything but large multi threaded applications that need to scale. In Java you have to rely on callbacks, and in complex applications nested callbacks. This is very, very difficult to both debug and maintain over time since the code execution path is not obvious to the programmer. This is why the error rate for massively threaded applications is higher per line of code than when the application is not threaded. Async/await significantly cuts down on code and error rate when writing such applications.
Your dumb "may just be handy to bang smaller stuff out quickly" shows that you again are talking from ignorance. You have no clue what async/await does, and still you talk about it as if you are an expert. You really are quite retarded.
Yeah, the obsession with maintaining backward compatibility at the bytecode level is indeed a bitch
Ah, see, you don't even understand this. The unwillingness to to change the bytecode level is not for backwards compatibility. You can change the bytecode to your hearts extent and maintain backwards compatibility. The "we won't change the bytecode" is for forwards compatibility, and that is just dumb. The .NET 4 runtime runs .NET 2.0 code perfectly fine simply due to the fact that the 2.0 stuff doesn't use any of the 4.x stuff. Expanding the capabilities of the bytecode engine doesn't impact older software at all.
I do like how old stuff and libraries still work though.
They do in .NET too, even though the bytecode engine has been expanded. Why would they not? Microsoft doesn't expect .NET 4.0 code to run on a .NET 2.0 runtime though. Sun did, and that is why they refused to change the bytecode.
> You are really funny. Why would async/await be handy to bang out smaller stuff quickly? Async/await isn't really relevant for anything but large multi threaded applications that need to scale.
Another fail. The design intend was not for large multi-threading problems (easily covered by existing constructs) but for handling UI events without affecting the responsiveness of the software - or so say the C# designers. Surely you read their intent?
Oh, here's another fail.
I say: Is it true or not that TypeScript adds (removable) annotations to Javascript, and hence can be considered a variant of Javascript? true or false? You say: False.
The TypeScript website says (in 30 point font, at the top, on every page): TypeScript is a language for application-scale JavaScript development. TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
Superset, get it yet? even the authors consider TypeScript a dialect of JavaScript (dialects do not necessarily have to be fully mutually intelligible, they just have to share a common base).
Oh, and in your paragraph stating, "And you are still spouting nonsense out of your ignorant ass. Really. Check it out. They are not working on JScript at all, they are working on JavaScript, and the annotations they are adding are not single vendor. If you had not been so fucking retarded that you had to go an spout all kinds of nonsense about a technology you have not bothered (I am assuming it must be due to the lack of ability) to read a damned thing about. Hint: The annotations are in line with ECMA future. Check it out and stop being such a fucking idiot."
Not only were you wrong, but you were so badly wrong you added "ignorant ass", "so fucking retarded", "spout all kinds of nonsense about a technology you have not bothered (I am assuming it must be due to the lack of ability) to read a damned thing about.", "fucking idiot" about something I was right about and you were being totally idiotic about. Somehow you thought that liberally lacing with insults would make your ignorant statement true, through sheer force of willpower perhaps? Somehow you thought that this was the only mistake you made. Somehow you thought you didn't mix in ad-hominems as well (hint: it is not a boolean function as you stated but instead a spectrum, ad-hominems can still be present even when other valid points are made in a debate), but you most surely did. Even. When. You. Were. Wrong.
Fare well. No more feeding trollish behaviour for me. Plus, I've learned everything I need to from and about you. Unfortunately, I don't think you'll learn to temper your anger and arrogance with this debate. That's a real shame, it will ruin your life in the long term. Pax.
The design intend was not for large multi-threading problems (easily covered by existing constructs)
Which constructs specifically? Let's say I am developing a server side application that, upon a REST request from a client, has to get data from a database, a web service and a legacy application over a non-standard XML interface. I am doing exactly this right now in Java. Which constructs are as easy to use as async and await in C# or Java that will allow me to do this? Please be specific. The fact that you read one line about async and await and then you think you know what it is for just shows how much of a retard you are. Async/await is a benefit to all applications that need to gather data from slow(ish) resources. It is particularly well suited for web-based (server side) applications) since it makes it easy to develop code that doesn't block the HTTP request thread. Not blocking the HTTP requet threads will make your application scale better.
Not only were you wrong
Where was I wrong? Is Anders working on JScript? Since when? Where do you find JScript in Node.js? Remember, TypeScript runs on Node.js, It DOESN'T run in IE at all and probably never will. So, please, explain how Anders is working on JScript, the Microsoft implementation of JavaScript, when Anders is not working with any Microsoft technology at all (apart from adding tooling to VS2012). Please. Show me the link between TypeScript and IE9 or IE10 or any version of IE, you know, where JScript is.
Just keep calling it "ECMA Script" until it sticks.
For some reason, "ECMA" always makes me think of "ACNE". Now it will for you, too ;-)
You're welcome.
Unfortunately, it won't, because to me it sounds more like smegma.
Seriously? That's an argument?
The backslash is backwards. Everyone else uses a forward slash to denote directories. Of course, MS has its backslash from the obsolete CP/M. I find no fault in the way they did the long file names. As to backwards compatibility, though, every time I ever upgraded Windows, half my old programs would no longer work.
The very worst one was the upgrade from 98 to XP. After installing the OS and my apps, on reboot it informed me that the CD burning software that came with my burner made it unstable (even though I'd not had any stability problems with 98 running anything), and then refused to let me uninstall the damned thing! Worse, I got that message every time I booted. I finally just reinstalled Windows, which fixed the broken driver Microsoft replaced the perfectly good one with. That was actually the boot to the ass that got me starting to migrate to Linux.
Are you complaining that Windows is not Unix?
Yes. Unix is the standard. Apple didn't used to be Unix based, either, but they had the good sense to join the rest of the computing world. Again, though, I do understand their wish to be completely baclwards compatible, but they could easily have a "compatibility mode," kind of like Linux can run DOS programs.
As of IE10, IE is also very standards compliant at the JavaScript end.
About time, don't you think?
MS is in fact doing many right things at the moment.
W7 is certainly the best MS OS I've used, and I went from DOS 3.3 to W7. I do agree that they are getting better (although from what I've read, W8 may be a step backwards, I haven't tried it).
No, it doesn't. Really, it doesn't. Please read it again.
Hmmm.... I'll have to plug in that XP box and see if the notebook can read its files and vice-versa.
My favorite OS in many was was VAX VMS
I only had contact with that as a user, but it seemed a fine OS to me.
Most of this I did while you were still having your butt wiped by your mother.
That's doubtful, Grace Hopper wrote the first compiler the year I was born.
Free Martian Whores!
Everyone else uses a forward slash to denote directories
Unix does. If you define Unix as "Everybody" you are right, otherwise you are just ignorant.
every time I ever upgraded Windows, half my old programs would no longer work
That is rubbish. Sorry. It is simply rubbish. Of course, unless the software in question was rubbish software written by incompetent idiots. Nobody does backwards compatibility like Microsoft. Nobody perhaps except the IBM mainframe guys.
Yes. Unix is the standard
That is probably the dumbest thing I've read so far today. "Oooooh, everybody should be exactly like me if not my puny brain can't work proper.". Besides, the backslash is not part of the OS, it is part of the command shell, which Microsoft (sensibly) made backwards compatible, something you (when contradicting your self) said was a good thing. Imagine all the stuff that would break if MS changed it in their shell. In the OS the two are equivalent and interchangeable. If you want to use forward slash, why not just install bash and you are good to go.
Apple didn't used to be Unix based, either, but they had the good sense to join the rest of the computing world
Wow. Unix is a standard, but from the 1970s, and it shows. The monolithic monster that is the Linux kernel is (according to Linus) bloated beyond belief. Unix is one of many, many operating systems, and it isn't even close to being the most well designed. Quite frankly, Unix as it is today deserves to finally be awarded the terrible death of badly designed shit. Good operating systems abound, but not all of them are as popular as Unix. Honestly, from an Operating Systems design point of view Unix is an anti-pattern and it is holding back the software development industry tremendously (Windows is a little better, but not "better enough").
Operating systems that beat the crap out of Unix, from a scalability, reliability and programmability perspective include, but are not limited to: MINIX 3, Amoeba, QNX, OS/2, NeXT (kinda, a little bit, sorta), VAX VMS, Open VMS, z/OS etc.
The only positive thing there is to say about Unix is that it is simple and straightforward. It has to be. It was designed to run on PDP/(7-11)s, and it shows. Don't get me wrong, I am a Unix head, but Unix is not even close to being a good operating system, it is barely a skin-deep layer on top of the hardware (to exaggerate just slightly) and the "everything is a stream of bytes" is just a bad idea now. It was good then, but then was a PDP-11.
Sorry, must have mis-clicked. Was replying to:
http://developers.slashdot.org/comments.pl?sid=3156723&cid=41531003
> WebGL is a security nightmare. By design.
I need to see a citation, reference, or proof please before I believe that
Have you heard about this new thing called Google?
Internet or Google? No never heard of http://bit.ly/viyioS
Now, instead of being a smart-ass or dumb-ass why don't you add something _constructive_ to the thread like answering the question.
99.99% of people claiming WebGL is a security risk are blowing smoke out of their ass.
i.e.
http://www.khronos.org/news/permalink/webgl-security
"There are no known WebGL exploits and Khronos will continue to place close attention to technical and ecosystem opportunities to ensure WebGL is a secure technology that can be used with confidence. "
Can WebGL read user's cookies? NO.
Can WebGL read user's private data? NO.
There was only *one* OVER-rated exploit I have ever seen: cross-origin images and that was fixed (internet years) ago.
http://www.khronos.org/webgl/security/
Until I see an actual *working* WebGL exploit, to say "WebGL was is insecure by design" to spouting ignorance. Do you even understand what vertex and fragment shaders are limited to?
Now, I agree that *WEB* Browsers (in general) are *insecure*, but one sub-system of them remains to be *proven* that *it* is insecure. I have not seen any other exploits since May 2011, almost 1.5 years ago.
So again, (0-day-exploit) [citation]
That is rubbish. Sorry. It is simply rubbish. Of course, unless the software in question was rubbish software written by incompetent idiots.
When my work upgraded computers ten years ago and went from 98 to XP, Foxpro 6 wouldn't work any more. So your rubbish software written by incompetent idiots was a Microsoft title.
I haven't tried running any old software on this W7 notebook, perhaps they've improved.
Free Martian Whores!
Sorry, FoxPro 6 ran fine on XP.
It wouldn't even start on my computer.
Free Martian Whores!
As I said, it ran fine. Runs fine in fact. Perhaps the problem lay elsewhere. At the chair-keyboard interface perhaps.
I produced a free TypeScript eBook:
http://www.heronote.com/files/TypeScript.htm