Slashdot Mirror


MIT Unifies Web Development In Single, Speedy New Language

itwbennett writes: A new programming language out of MIT, called Ur/Web, provides a way for developers to write pages as self-contained programs. It incorporates many of the most widely-used web technologies, freeing developers from working with each language individually. Ur/Web's author, Adam Chlipala, an MIT computer science assistant professor, will present his work next month at the Association for Computing Machinery's Symposium on Principles of Programming Languages. He says, "In Ur/Web, everything is based on transactions, where a single client request is handled by what looks like an uninterrupted execution of a single function. The language implementation has optimizations in it to support running many requests in parallel, on real servers. But the programmer can pretend everything is a transaction and think in a simpler concurrency model."

194 comments

  1. PHP? by Anonymous Coward · · Score: 1

    Lemme guess: it's called PHP!

    1. Re:PHP? by Anonymous Coward · · Score: 0

      Actually I was going to say it sounds like what go and swift are trying to do. /as a perl developer....I hate php with all of my heart. //Merry day-after Christmas!

    2. Re:PHP? by Eunuchswear · · Score: 1

      If by go and swift you mean Haskel and ML.

      This will make PHP programmers head explode.

      --
      Watch this Heartland Institute video
  2. Haxe by wisnoskij · · Score: 2

    If I am not mistaken you can do the same thing in Haxe, and that includes Flash development as well.

    --
    Troll is not a replacement for I disagree.
    1. Re:Haxe by Anonymous Coward · · Score: 0

      Doesn't Haxe force you into installing Adobe software? Can you develop in Haxe w/o any third party software being installed?

    2. Re:Haxe by Anonymous Coward · · Score: 2, Funny

      If I am not mistaken you can do the same thing in Haxe, and that includes Flash development as well.

      Is that a feature, or a bug?

    3. Re:Haxe by Trepidity · · Score: 1

      It's not required, no. At least not anymore, not sure if it used to be. The self-contained installer is sufficient to develop with.

    4. Re:Haxe by WillKemp · · Score: 0

      If I am not mistaken you can do the same thing in Haxe, and that includes Flash development as well.

      That would be useful if you had a time machine and wanted to work 10 years ago.

      Flash? Seriously? are you suggesting the ability to produce the worst web sites ever is a selling point?

    5. Re:Haxe by wisnoskij · · Score: 1

      Well being able to work with what once was a major part of the web, is a selling point.

      --
      Troll is not a replacement for I disagree.
    6. Re:Haxe by WillKemp · · Score: 1

      Not any more it's not. And it never was with anyone who had a clue. Flash based web sites always were and always will be shit.

    7. Re:Haxe by wisnoskij · · Score: 1

      There is a difference between a flash based website and a website that has flash components. How do you create a website with a game or some interactive app before canvas? Flash was what we had to work with.

      --
      Troll is not a replacement for I disagree.
  3. Finally! A single language! by Anonymous Coward · · Score: 5, Funny
  4. freeing developers from working with each language by ProfessionalCookie · · Score: 2, Funny

    http://xkcd.com/927/ Obligatory.

  5. W3C, please. by Anonymous Coward · · Score: 2, Interesting

    I'm really sick of languages that are going to solve all our so-called problems. We can't even get web developers to properly adhere to W3C standards. Now, you expect developers to implement stuff in the browser that's effectively a massive JavaScript runtime? The problem with web development isn't the languages we use, it's the way in which they're used. People are trying to hijack the browser to be an application delivery platform and failing to adhere to the W3C specifications. This breaks the open, semantic web. Get back to me when they come up with a "language" that lets me turn off JavaScript, cookies, and plug-ins in my browser and still have useful, dynamic content that can be understood by computers and machines.

    1. Re:W3C, please. by Anonymous Coward · · Score: 1

      This breaks the open, semantic web. Get back to me when they come up with a "language" that lets me turn off JavaScript, cookies, and plug-ins in my browser and still have useful, dynamic content that can be understood by computers and machines.

      This sounds like a job for Old-School Sockets Programming Guy! Someone go get him out of the unemployment line and tell him we need a modern stateful connection protocol and both a client and a server to use it.

      Seriously though, has anyone attempted a stateful doppelganger of HTTP that uses HTML and CSS for presentation, but allows persistent connections and "heavy" scripting? ("Heavy" scripting, as in BLOBs, bytecode, or other precompiled executables, rather than "lightweight" text pumped through an interpreter...) Because that would be The Shit(tm). It would also likely pose a huge security risk to any system that used it, so there's that to consider before unleashing such a beast upon the world.

    2. Re:W3C, please. by K.+S.+Kyosuke · · Score: 1

      I'm really sick of languages that are going to solve all our so-called problems.

      Languages have already solved for us the problems of numerically addressed storage, register allocation, memory allocation, compound data types, structured control flow, genericity/polymorphism of pieces of code etc. etc. Virtually all - if not all - pesky problems in day-to-day programming have been solved by appropriate language design. Why shouldn't a language solve the problem of concurrency and distributed applications?

      --
      Ezekiel 23:20
    3. Re:W3C, please. by WaffleMonster · · Score: 3, Insightful

      Why shouldn't a language solve the problem of concurrency and distributed applications?

      Because this can only be effectively answered by the application?

      Language does not enable non-trivial problems to scale out... application architecture enables this and concurrency is of the same coin.

    4. Re:W3C, please. by K.+S.+Kyosuke · · Score: 2

      Except that both languages and "application architectures" are, so as to speak, both based on usefully constraining the set of valid programs. In the long run, though, stuff tends to move into languages, among other things because it allows checking of correctness at the earliest possible moment during development.

      --
      Ezekiel 23:20
    5. Re:W3C, please. by WaffleMonster · · Score: 1

      http://www.brainyquote.com/quo...

      Wake me up when you have something falsifiable to say.

    6. Re:W3C, please. by WaffleMonster · · Score: 2

      Except that both languages and "application architectures" are, so as to speak, both based on usefully constraining the set of valid programs.

      Sorry I don't understand what this means. If you design a data schema that can't scale no language selection, amount of clustering, sharding, money or associated BS is going to be of much help... this is just reality.

      Only when machines become smart enough to do the designing will this ever change. Computers can do a lot on the margins but ultimately if you want scalability and performance in a non-trivial problem space YOU will have to work for it.

      In the long run, though, stuff tends to move into languages, among other things because it allows checking of correctness at the earliest possible moment during development.

      What does constraint validation have to do with scalability and concurrency?

    7. Re:W3C, please. by Livius · · Score: 2

      I'm really sick of languages that are going to solve all our so-called problems.

      I'm sick of languages that were going to solve all problems but then didn't.

      In web development, there's still room for one language that's half-ways good.

    8. Re:W3C, please. by luis_a_espinal · · Score: 2

      Except that both languages and "application architectures" are, so as to speak, both based on usefully constraining the set of valid programs.

      Sorry I don't understand what this means. If you design a data schema that can't scale no language selection, amount of clustering, sharding, money or associated BS is going to be of much help... this is just reality.

      This is true, but it does not lead to what you are claiming. A data schema (in a very general sense that goes beyond relational schema or XML data schema or whatever) might or might not scale (either by poor design choice, or by design).

      But that schema will depend on specific concepts and assumptions that will be best realized with a specific family of technologies (or even a single one.) It would be possible (but very hard and stupid) to try to implement a relational data schema with a document-oriented database. And it would be very painful to implement a flexible document-oriented system using a RDBMS.

      A good design of each type of system would achieve most, if not all of the requirements desired for such a system, but they will make a significant number of platform and language support assumptions.

      Design and architecture are not some ethereal things up in the clouds; they are meant to be rooted on very specific language and runtime constrains.

      Only when machines become smart enough to do the designing will this ever change.

      And since that is an undecidable problem, we know that will never occur (not without heuristics and constant human intervention, validation and verification.)

      Computers can do a lot on the margins but ultimately if you want scalability and performance in a non-trivial problem space YOU will have to work for it.

      Yes, YOU have to work for it... using the appropriate levels of abstraction (be them run-times, frameworks, language features or any combination thereof.) Architecture and design are about constrains, about constraining the number of ways entire systems can be put into place within limited resources. That constrain alone dictates what language and platform features make architecture and design feasible.

      What does constraint validation have to do with scalability and concurrency?

      I'm not sure what the OP intended by "constrain validation", so I would present my own interpretation. A constrain or set of constrains will indicate how much scalability or concurrency you need. Those constrains then become vital for describing the means for testing, validation and verification (after all, a requirement is only valid when it is testable and verifiable.)

      I could architect a large-scale e-commerce site with strict fault-tolerance and consistency requirements. Great. Then, I can, in theory, implement it in assembler, or C... or with a higher-level language and platform.

      Similarly, I can architect a distributed operating system. I could implemented in Java or natively compiled BASIC... or I could do it in C/C++.

      Proper architectures for each problem will prescribe the constrains of the design (and the means for verification and validation), and each will be better served by specific languages and tools.

      Any non-trivial architecture will have a direct dependency to a set of language features. And any set of language features will have a relation of economic feasibility to families of problem domains and related architectures.

    9. Re:W3C, please. by Anonymous Coward · · Score: 0

      They are academics for a reason (to only solve so-called problems and not actual, real-world problems).

    10. Re:W3C, please. by Anonymous Coward · · Score: 0

      Is it so wrong to believe in different languages for different things? It seems crazy to try and create one tool that does everything just so developers can be lazy or negligent.

    11. Re:W3C, please. by Livius · · Score: 1

      I'm fine with two good languages, but let's start with one.

    12. Re: W3C, please. by WillKemp · · Score: 1

      Frankly, the w3c standards are crap.

      If you people put as much effort into learning how to use the tools you have as you do into making excuses about why you can't use them, you might actually get some useful work done.

    13. Re:W3C, please. by WillKemp · · Score: 1

      Is it so wrong to believe in different languages for different things? It seems crazy to try and create one tool that does everything just so developers can be lazy or negligent.

      It's wrong if you're lazy or not very smart - because you want a language that saves you having to actually do anything. You've only got to look at the shit that passes for web development on some sites to see that there's no shortage of those sorts of people working in the industry.

    14. Re:W3C, please. by KidSock · · Score: 1

      The reason people don't respect the W3C specs is because they don't meet application requirements. HTTP and HTML were designed to serve static documents. The W3C thought the web was going to be like a giant encyclopedia composed of book like content with chapters, paragraphs, static images and so on. The statelessness of HTTP causes all sorts of problems that have resulted in hacks like cookies. Consider that HTTP does not specify any way to even authenticate a client. There's no way to do a proper complete stand-alone authentication. So we have to process plaintext passwords on the server over HTTPS. If HTTP had a proper authentication mech, major hacks like those we hear about on the news would be significantly reduced. The whole tool-chain stinks. Nobody understands CSS. The DOM is buggy and generally not that useful. JavaScript is mess. It's all way more complicated than it needs to be. The only upside is that it's so bad, it's an inevitablility that someone will come up with a completetly different "browser" with it's own tool-chain or possibly a browser plugin that just completely replaces the whole W3C toolchain. I hope anyway.

    15. Re:W3C, please. by Anonymous Coward · · Score: 0

      Bravo!

  6. The bigger question IMHO by popo · · Score: 4, Interesting

    Ur/Web is a Functional Programming language like Haskell, F# and the like. The performance gains are real -- both in numbers of coders and execution, but the larger questions remain:

    Do we want compiled web languages? Why exactly? Not only does this introduce a compilation layer to the development workflow, but it introduces millions of "black boxes" into a once open and readable landscape. While there may be gains in code protection, there will also likely be losses in flexibility.

    And of course, is it all worth the effort?

    --
    ------ The best brain training is now totally free : )
    1. Re:The bigger question IMHO by Anonymous Coward · · Score: 2, Interesting

      Compiled web pages are coming one way or another. All web servers are working on it in the next version of http protocol for binary implementation and all web browsers are concurrently working on this as well. It should speed up the net substantially as less traffic will be needed. The issue I have with it is the development of it in that they would have to setup half of their code to make sure it works in all client web browsers. I love and hate javascript for that very reason. JQuery is making it a bit better but browsers suck in language capabilities. Servers should be built to auto-compile pages no one will notice the compilation effort. If there is a failed compile it could give a page that says why it failed (look at line xyz in your code kind of like how some php implementations work). I think we need an opensource library plugin for all browsers with a true useful set of libraries we could distribute it like flash. Then we could worry less about what each web browser supports and work on our own code. I don't really know but just some ideas.

    2. Re:The bigger question IMHO by Anonymous Coward · · Score: 0

      And what flexibility do you lose exactly? I can't remember the last time I wanted to look at some HTML/JS because frankly, I've never wanted to look at it anyway. Now imagine the typical web user who thinks google is internet...

    3. Re:The bigger question IMHO by phantomfive · · Score: 1

      frankly, I've never wanted to look at it anyway.

      Hmmmm, I'm just guessing here, but you seem like a person who doesn't want to look at HTML.

      --
      "First they came for the slanderers and i said nothing."
    4. Re:The bigger question IMHO by Anonymous Coward · · Score: 0

      I'm not that guy, but: For Good Reasons!

    5. Re:The bigger question IMHO by Anonymous Coward · · Score: 0

      I posted about all going to be compiled.

      And I do like looking at the code. I don't see why the binary can't be undone on the other end. compression across doesn't mean unreadable on the other end.
      Sure it would take more resources putting it back but I think seeing what is failing is very important. Copying code and seeing how it works helps build a better community. Compiled doesn't always mean unreadable afterwards. Think of it as compression and different layers of decompression. If you need to see the code on the other end it requires more decompression.

    6. Re:The bigger question IMHO by modmans2ndcoming · · Score: 1

      The compiler could easily create a search engine friendly file that presents the page information for indexing and browsers are being presented with standard HTML so accessibility is not an issue.

      Gains in productivity from development teams, middleware that will compile and publish all released code, the obvious benefits from compile time checking of variables, arrays, etc. will probably offset the loss of flexibility of the development channel.

    7. Re:The bigger question IMHO by Anonymous Coward · · Score: 0

      I doubt we'd see even a tiny speedup in the web in general since it's not pages of HTML that are taking up all the bandwidth. Youtube and Netflix account for some incredible amount of the bandwidth in use today and those are already optimised binary distribution formats.

      Web development doesn't need more layers of crap, but rather less. I say we're well overdue a complete top to bottom re-factoring of the whole hot mess.

    8. Re:The bigger question IMHO by nadass · · Score: 1

      Content pre-compilation is indeed coming, but that's not the optimal way of leveraging the binary capabilities in the HTTP protocol. The true benefit of binary streams is for sophisticated packets to pass unadulterated between the server environment to the client environment. Sending pre-compiled web pages through this technique is an absolute waste of the improvement -- mostly because it's simply not necessary.

    9. Re:The bigger question IMHO by mrfatmann · · Score: 1

      Here's a similar comment raised in a Linux/UNIX Dev post (context). I'm not the one to answer, but I am interested in the difference between the two.

      http://slashdot.org/comments.p...

    10. Re:The bigger question IMHO by bigtrike · · Score: 2

      The newer protocols will reduce latency. See http://www.chromium.org/spdy/s...

    11. Re:The bigger question IMHO by DrXym · · Score: 1
      The reason that other languages have sprung up is because Javascript is a horrible language. It's incredibly easy to write bugs that slip through and cost more time / money to find and fix. e.g. Write o.foo() in your JS and with strict mode the runtime compiler will throw an error if o wasn't declared but it doesn't give a damn if foo() is undefined, or that foo() takes those parameters, or even if foo() is a function to begin with. It's only when o.foo() is invoked and the runtime discovers it's undefined, nil, an array, or a function that you discover if there was a bug or not. And your entire JS might just break at that point. It's the sort of thing an IDE for another language would have caught even while you were typing the code. So you need to write a bazillion unit tests and stoke up the code coverage just to catch stupid errors. Even things like the "this" reference have obscure behaviours that can befuddle developers (and strict / non strict changes those behaviours!).

      That's why an entire industry has sprung up to solve Javascript. It starts with the likes of JQuery / Underscore which paper over the cracks between implementations and battle tested code that every site needs. Then you have things like CoffeeScript / Typescript are basically glorified precompilers which add terseness (cs) or types (ts) but spit out recognizable JS. The likes of Dart and GWT do more complex generation. At the extreme you have the likes of Emscripten which compiles C/C++ code into LLVM bitcode and a JS runtime - so basically you can compile and run any language at that point, within the limitations with JS.

      Even browsers recognize how problematic JS is. We have a "use strict" mode that take the edge of the worst ambiguities. We even have a "use asm" to support compiled runtimes like Emscripten with an optimizable subset of JS. And the likes of Firefox / Chrome will look for a .map file when you debug JS and will show you the input source - unminified js / cs / ts / dart / whatever if it finds one. Basically they know JS sucks and are trying to facilitate devs who use another language.

  7. Spaghetti by Anonymous Coward · · Score: 1

    The provided examples from the creator's PDF look like the typical spaghetti code you get out of academia. I can't imagine how awful it would be to maintain this as well as the limited skill level you are going to get vs. finding people specialized in each layer in the stack.

    1. Re: Spaghetti by MemeRot · · Score: 1

      Agreed. If the site was developed in it/web I'll pass. It's easy to avoid browser problems by making everything look like is 1996

  8. market for this ? by Anonymous Coward · · Score: 0

    I do not see a market for this. Anyone interested in going this route probably also wants to take the next step into abstraction and go for a system like Outsystems or Mendix.

  9. Is it a Node.js replacement? by Anonymous Coward · · Score: 2, Interesting

    0 job postings for a new language is fine. I bet that if you go back far enough, you'll find a time with 0 job postings for Node.js. You could probably go back and find 0 postings for C# at some point. They all started somewhere.

    The issue, imo, isn't the start... it's the "one stop shop" that is some how going to "Magically" going to combine at a minimum layers: Database, server, html, css, javascript.

    I'd like to see how they handle Chrome vs IE and other incompatibility issues.

    Oblig KXCD: http://xkcd.com/927/

  10. An MIT? by Anonymous Coward · · Score: 0

    I'm in Ur/Web killin ur doods

  11. Re:Is it a Node.js replacement? by Anonymous Coward · · Score: 5, Funny

    HR people are just waking up. By the end of the day, you'll see some looking for 5 years Ur/Web experience.

  12. Ooh, I Have An Idea! by Greyfox · · Score: 4, Insightful

    What if, instead of doing that, we came up with a language that you could use to build your program without a browser? Now stay with me here, I know this sounds crazy, but it could work! Since you're not working with a fundamentally stateless protocol, this language wouldn't need to maintain state externally to itself! All its variables and state would be self-contained! But since you might want to pull data in from the network or a database or something, you could add interfaces to that functionality to your language! Wouldn't that be something? I know, I know, this suggestion has been made, like 12648430 times before, but I think it's a really good idea that could work!

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    1. Re:Ooh, I Have An Idea! by Trepidity · · Score: 3, Funny

      But then how would you run it in a browser?

    2. Re:Ooh, I Have An Idea! by Anonymous Coward · · Score: 0

      plug-in

    3. Re:Ooh, I Have An Idea! by Anonymous Coward · · Score: 0

      What if, instead of doing that, we came up with a language that you could use to build your program without a browser? Now stay with me here, I know this sounds crazy, but it could work! Since you're not working with a fundamentally stateless protocol, this language wouldn't need to maintain state externally to itself! All its variables and state would be self-contained! But since you might want to pull data in from the network or a database or something, you could add interfaces to that functionality to your language! Wouldn't that be something? I know, I know, this suggestion has been made, like 12648430 times before, but I think it's a really good idea that could work!

      Something like Java and Java Network Launch Protocol (JNLP)? Already been tried and people didn't like it. I agree with you, it makes sense.

      That being said, the only way browsers are going to do what people want them to do is if W3C comes up with a Web Operating System that is virtualized in all browsers, which essentially becomes Java Applets, which people didn't like.

      The problem is that there needs to be a new compelling technology that can shake up the computer world. Everything to day is a rehash of what's been done over the last five years which ends up being a new Javascript library that promises something. The web is the new 3270 screen and doesn't even have the same innovation that the old green screens had when they were being retired.

      Computers, the web, everything has become mainstream and mundane and another Javascript library isn't going to change anything.

    4. Re:Ooh, I Have An Idea! by MightyYar · · Score: 0

      Forgive me, but aren't there 12648430 solutions to "build your program without a browser"?

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    5. Re:Ooh, I Have An Idea! by Anonymous Coward · · Score: 0

      <applet> is deprecated. So is <embed>, and it wasn't actually part of the standard anyway. So I would recommend <object>.

    6. Re:Ooh, I Have An Idea! by Anonymous Coward · · Score: 1

      Every hardware vendor has tried providing their own API or set of API's. The problem is that all the other hardware vendors won't use that API. Web browsers became the standard platform for user interface development because the scripting languages are hardware independent and don't depend on the fundamental features of different CPU's, LSB vs MSB, 64-bit vs 32-bit, register sizes.

    7. Re:Ooh, I Have An Idea! by Anonymous Coward · · Score: 0, Interesting

      GUI programming sucks. HTML GUIs are far easier to implement than any other language I have worked with thus far. And I have run into so many quirks with other GUI's that it just isn't funny(looks one way here another way here and just sloppy). HTML provides a relatively stable GUI. However I like your idea why don't we work with a good open source browser dissect it and create our own binary both ends. We could use the new http protocal for binary traffic and ride that on an ssl layer. This could be done.

    8. Re:Ooh, I Have An Idea! by binarylarry · · Score: 2, Insightful

      HTML guis are complete shit.

      The architecture sucks, the design sucks, the developers suck.

      HTML is only widely used because it's widely used.

      --
      Mod me down, my New Earth Global Warmingist friends!
    9. Re:Ooh, I Have An Idea! by Viol8 · · Score: 1

      +1

      HTML was never intended as an application delivery platform. Its been stretched to breaking point and then some.

    10. Re:Ooh, I Have An Idea! by Half-pint+HAL · · Score: 1

      Plug-ins are too platform specific. Implement it in JS for a "run anywhere" solution.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    11. Re:Ooh, I Have An Idea! by Matheus · · Score: 0

      Cheers.

      Fight the good fight sir.

    12. Re:Ooh, I Have An Idea! by Khyber · · Score: 1

      "HTML guis are complete shit."

      Only because those making the HTML GUIs are coders, not UI/UX people.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    13. Re:Ooh, I Have An Idea! by FatdogHaiku · · Score: 1

      Then Apple could do a sandboxed version and it would be <iobject>...

      --
      You have the right to remain sentient. If you give up the right to remain sentient, you will be elected to public office
    14. Re:Ooh, I Have An Idea! by Anonymous Coward · · Score: 0

      LOL - you think any "UI/UX" people have a clue what they're doing?
      Jensen Harris, for example? The entire "UX" team at Microsoft don't know what the f**k they are doing. LOL.

    15. Re:Ooh, I Have An Idea! by roc97007 · · Score: 2

      Which version of JS?

      --
      Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
    16. Re:Ooh, I Have An Idea! by Anonymous Coward · · Score: 0

      Where do you work? I can assure you that any decent sized company with a real web presence does not get it's coders to do it's UX work. It goes through months of meetings, approvals, design, etc at the hands of UI/UX experts. Sure, mom and pop websites don't get this love, but I'd wager over 90% of all the sites you use during the day are from big companies with tight design guidelines. If those suck, it's because the UX guys suck, not the guys who simply implemented their "sweeping vision"

    17. Re:Ooh, I Have An Idea! by Anonymous Coward · · Score: 0

      HTML is the DOS of the 21st century. Get used to it.

    18. Re: Ooh, I Have An Idea! by Anonymous Coward · · Score: 0

      Oh boy you have swallowed this shit rope and sinker.js is just another half baked idea and the apps movement already backtracks.

    19. Re:Ooh, I Have An Idea! by Anonymous Coward · · Score: 2, Insightful

      Speak for yourself. Hating on HTML and web tech because you're bad at it is the lamest of the lame excuses. My users much prefer our HTML GUI over our shitty old desktop apps, especially the whiz-bang desktop widgets and godawfully inconsistent native apps we used to have across devices and ESPECIALLY our "cross platform" Java app.

      It turns out that just having a simple button-based touchscreen app is good enough, and being able to access it from their Windows work box, OSX at home, and their phones/tablets without having to install anything makes them much happier and more productive. That, and the devs are much happier and more productive because they don't have to maintain and deploy several shitty apps, just one shitty app with a few versions of the UI.

      The web app is a perfect fit for a lot of applications. Stop making excuses and learn how to do your job and you'll be happier too.

    20. Re:Ooh, I Have An Idea! by Anonymous Coward · · Score: 0

      Considering Canonical's and Gnome's UI "people", I'd take the coder GUI over the retard GUI.

    21. Re:Ooh, I Have An Idea! by MikeBabcock · · Score: 1

      HTML is widely used because it gets developers around all the distribution and security issues of distributing real compiled software to their users.

      --
      - Michael T. Babcock (Yes, I blog)
    22. Re:Ooh, I Have An Idea! by dingen · · Score: 1

      HTML is only widely used because it's widely used.

      HTML is only widely used because there is no other way to get your content to a large audience.

      --
      Pretty good is actually pretty bad.
    23. Re:Ooh, I Have An Idea! by WillKemp · · Score: 1

      That's how i feel too. However, i'm a computer nerd and have been for 35 years, and i suspect that makes me a bit different from average users. While Gnome 3 irritates me a lot (as do all other desktops, incidentally), i can see the point of it - and it's not aimed at you or me.

    24. Re:Ooh, I Have An Idea! by WillKemp · · Score: 1

      Stop making excuses and learn how to do your job and you'll be happier too.

      Too right! There's a lot of whining on slashdot about this sort of thing. As soon as you see it, you know the writer's just incompetent and blaming their tools.

    25. Re:Ooh, I Have An Idea! by strikethree · · Score: 1

      Yeah, you gotta kind of wonder why everyone is trying to shoehorn all concepts into a HTTP paradigm. It is almost like they do not understand the internet, tcp, etc... or is hypertext really just THAT valuable?

      Hm. Was about to click submit then I realized that people actually just might be considering hypertext to be that valuable. Well, not hypertext itself but the cross-platform nature of it.

      When you write a graphical program for a BSD system, it uses completely different libraries than for an OS X program. Then there is Windows. Win32, .Net, it does not matter, the programming is of a radically different mindset. Computing truly is balkanized and that is why the contorted gymnastics with HTTP exist.

      *sigh* Apparently there are no people strong enough to stand up and say it should be a particular way who are not also greedy and/or power-driven.

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
    26. Re:Ooh, I Have An Idea! by IamTheRealMike · · Score: 1

      Speak for yourself. Hating on HTML and web tech because you're bad at it is the lamest of the lame excuses. My users much prefer our HTML GUI over our shitty old desktop apps

      Sounds like you're hating on desktop apps because you're bad at them .... though certainly that's a common problem.

    27. Re:Ooh, I Have An Idea! by Anonymous Coward · · Score: 0

      The UI/UX people want pixel perfect GUIs. HTML was designed specifically to not be pixel perfect. The GUIs of idiot web developers are far more usable than the GUIs from UX people. They're the ones making full page flash sites and the like. I don't want websites where everything, including all the text, is rendered inside a single canvas tag. I'd much rather install an application, but people don't want to bother with that (except on mobile where it's too hard to write a website and everyone makes apps...)

    28. Re:Ooh, I Have An Idea! by binarylarry · · Score: 1

      Why is it that webapps failed so hard on the iphone? Why are mobile apps universally preferred over webapps? How are mobile apps and "shitty old desktop apps" different (protip: they aren't that different)?

      Reread my post.

      --
      Mod me down, my New Earth Global Warmingist friends!
  13. Try again. by pigoon · · Score: 2

    Don't hold your breath...

    If we could take the ego out of invention the profs might realize that *another language* is not what is needed.
    Understanding the languages we're using... that's what's needed.

    1. Re:Try again. by Half-pint+HAL · · Score: 1

      Yeah. No-one will ever need anything that COBOL can't do. All these modern languages are just ego.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  14. Syntax looks gnarly by Anonymous Coward · · Score: 1

    Looking over the official tutorial pages, the syntax is really different than anything I've done before. It looks hard to learn. It looks like the functions are just called "fun". Let's go have some FUN!

    I know it is not fair, but the tutorial pages have no styling at all. It kind of takes away from the supposed "new hotness".

    1. Re:Syntax looks gnarly by Lord+Crc · · Score: 2

      Looking over the official tutorial pages, the syntax is really different than anything I've done before. It looks hard to learn.

      Indeed. And what's with this obsession amongst the functional language developers to try to use the least amount of characters possible? We're no longer in the 1960's where verbose source code took a lot of valuable space.

      For example, when I read

      fun double n = 2 * n

      I see a function called double which implicitly takes a parameter n and returns true if n = 0, and false otherwise. Would it have killed them to separate the parameter from the "body", and used proper names? For example:

      function double(n) = 2 * n

    2. Re:Syntax looks gnarly by Unknown+Lamer · · Score: 1

      It would have killed them, because (n) is a tuple of one element.

      The current syntax has a few benefits. A big one is that you can write things like fun mul n m = n * m; fun double = mul 2; double 4 (* = 8 *);. Automagic currying is good.

      --

      HAL 7000, fewer features than the HAL 9000, but just as homicidal!
    3. Re:Syntax looks gnarly by gnupun · · Score: 1

      I see a function called double which implicitly takes a parameter n and returns true if n = 0, and false otherwise. Would it have killed them to separate the parameter from the "body", and used proper names?

      You have to get used to that. In functional programming, parentheses are usually used to denote function calls. For eg:

      x = foo(bar(10), 20); // C
      (let x (foo (bar 10) 20) // lisp

    4. Re:Syntax looks gnarly by Anonymous Coward · · Score: 2, Insightful

      double 4 (* = 8 *);

      What the fuck is that? a japanese smiley??

      Somebody please take this researcher's grant money and give it to someone younger and without a giant pole in their arse.

    5. Re:Syntax looks gnarly by Lord+Crc · · Score: 1

      You have to get used to that. In functional programming, parentheses are usually used to denote function calls.

      I really have tried, but it's just too terse for me.

      At this stage I'm pretty certain I won't grok a functional language until someone invents a functional language that doesn't look like some variation of Brainfuck or similar.

    6. Re:Syntax looks gnarly by Lord+Crc · · Score: 2

      It would have killed them, because (n) is a tuple of one element.

      It's the same in Python, yet I haven't noticed it killing any Python programmers. Perhaps functional language designers are more fragile creatures.

    7. Re:Syntax looks gnarly by EuclideanSilence · · Score: 1

      Currying was developed to simplify the axioms of Church's lambda calculus. That is about as "low level" as is conceivable. It is not an application level feature. It should NEVER be used in an application programming language.

      Just because you can define things in a shitty way doesn't mean you should.

    8. Re:Syntax looks gnarly by Warbothong · · Score: 2

      (* This is comment syntax in ML-derived languages, like Ur *)

      /* This is comment syntax in C-derived languages, like C */

      double 4 (* = 8 *)

      Is Ur for

      double(4); /* == 8 */

      Your comment (pun intended) is an example of Wadler's Law

    9. Re:Syntax looks gnarly by Warbothong · · Score: 1

      It would have killed them, because (n) is a tuple of one element.

      It's the same in Python, yet I haven't noticed it killing any Python programmers. Perhaps functional language designers are more fragile creatures.

      Functional programmers aren't "more fragile creatures", they're just not prepared to put up with the BS that putting arguments in tuples entails.

      It doesn't kill Python programmers, but it sure as hell wastes a whole lot of their time when they write a 3-argument function and have to decide whether it will be called as "f(x, y, z)", "f(x, y)(z)", "f(x)(y, z)" or "f(x)(y)(z)". Functional programmers realised long ago that they're all the same thing, so there's no point writing any parentheses, since they don't add anything except confusion.

    10. Re:Syntax looks gnarly by Unknown+Lamer · · Score: 1

      What I'm saying is ... fn n m, and f (n, m) being different is good. You have more flexibility since automatic currying is available when sensible.

      --

      HAL 7000, fewer features than the HAL 9000, but just as homicidal!
  15. Well thank goodness by DrXym · · Score: 5, Insightful

    I always thought that the one thing web programming needed was YET ANOTHER PROGRAMMING LANGUAGE. One that seems to reinvent cgi programming combining business logic and structure into a single file and tosses the lot into a functional programming blender so nobody has a fucking clue what's going on.

  16. Frameworks by corychristison · · Score: 2

    This is what frameworks are for.

    There are thousands of different frameworks for various languages to accomplish effectively the same thing with the benefit of using an already established web language (PHP, Node, Python, Java, etc. etc.)

    1. Re:Frameworks by Intrepid+imaginaut · · Score: 2, Insightful

      I really hate using frameworks. They're fine as long as you use them for their limited purpose-set, but step outside the walled garden and your delving into a wilderness of minified spaghetti coded black boxyness whipped together over a weekend by people who weren't really interested or most likely able to envision different requirements.

      And yes I include JQuery in this. Just learn friggin javascript already, it's not that hard.

    2. Re:Frameworks by angel'o'sphere · · Score: 1

      And I don't like people who do not grasp the difference between a framework and a library.
      Hint: JQuery is not a framework.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    3. Re:Frameworks by igloo-x · · Score: 0
      So what you're saying is, frameworks are good at what they do, but not so good at what they don't do?

      Just learn friggin javascript already, it's not that hard

      Try doing anything none-trivial in 'raw' javascript that has to work on more than one browser and you'll just end up re-inventing jQuery, probably badly, and creating a maintenance nightmare for the next poor bastard who inherits your shit. Please don't do this.

    4. Re:Frameworks by pr0nbot · · Score: 1

      I recommend Django to you. It seems to be written by clueful folk who care about things like backwards compatibility and fixing the small broken things rather than throwing it all away for the next version. As a bonus, it's not PHP.

  17. Question? by mitcheli · · Score: 1

    Will this work with IE? Or will they release, i/Web a new API that is designed to write pages as self-contained programs by incorporating many of the most widely-used web technologies, freeing developers from working with each language individually in a very similar fashion as Ur/Web, but without the key API functions that would allow it to be compatible with any other browser. .... Not that this has ever happened before.

    --
    Select from tblFriends where interesting >= 4;
  18. Seaside? by Anonymous Coward · · Score: 1

    How does this differ from Smalltalk's Seaside? It, too, has coroutine-ish interaction with the client.

    There's also a Perl module implementing the same sort of client-server discussion.

  19. Don't try to abstract a web page by Parker+Lewis · · Score: 3, Insightful

    This is fundamentally wrong: the're not only trying to abstract all technologies and flows involved in web page development. Most of these languages and frameworks want to provide the old desktop program flow. And the way web applications works is a way different than that. A good web programmer need to know all the flow and involved technologies.

    1. Re:Don't try to abstract a web page by K.+S.+Kyosuke · · Score: 1

      Could you explain what you mean by "old desktop program flow"? And what you mean by "working way different than that"? Since the only way I'm aware of doing web applications that work in the way that the web itself works is continuation-based frameworks, and those really don't get used by a lot of people. Most people aren't even aware of them, I'd think.

      --
      Ezekiel 23:20
    2. Re:Don't try to abstract a web page by Anonymous Coward · · Score: 1

      Probably means that web-developers should know everything front to back with every buzzword attached. You know the kind, the slaves who do-it-all.

  20. Frames in 2014 by Lobo42 · · Score: 4, Informative

    The demo site uses frames. FRAMES. I think this is unlikely to catch on.

    1. Re:Frames in 2014 by Chelloveck · · Score: 2

      Frames loading xhtml, even.

      --
      Chelloveck
      I give up on debugging. From now on, SIGSEGV is a feature.
    2. Re:Frames in 2014 by rasmusbr · · Score: 1

      The demo site uses frames. FRAMES. I think this is unlikely to catch on.

      It might be the xmas timing, but this gives me a warm fuzzy feeling. I only wish they'd design the main.html page using tables for formatting.

    3. Re:Frames in 2014 by naasking · · Score: 1

      The demo site uses frames. FRAMES.

      This is the researcher's website. A RESEARCHER. Who cares if he sucks at web design? Ur/Web can generate any HTML you want.

    4. Re:Frames in 2014 by Anonymous Coward · · Score: 0

      It's a phenomenon I saw a lot when working in academia, particularly in psychology and social work - a tendency for people who can't fix their own problems to want to fix someone else's. It's some weird form of competency/wisdom projection.

    5. Re:Frames in 2014 by Anonymous Coward · · Score: 0

      This is the researcher's website. A RESEARCHER. Who cares if he sucks at web design? Ur/Web can generate any HTML you want.

      If he can't design decent HTML, what makes you think that his language/framework/whatever is optimized to do a good job producing HTML? If he is so divorced from the solution space as to think that frames are an acceptable solution, why do you think he understands it well enough to write something useful?

      I don't think it's an accident that C and Perl were two of the most ubiquitous languages and were designed by people trying to solve actual problems. One of the problems with the potential replacements is that they are often designed by RESEARCHERS who know nothing about maintaining software. Look at C++ and 'using namespace std;'. Anyone could have told them that allowing arbitrary namespace clashes would be unmaintainable, but that doesn't matter to a language that is written by people who only ever write new code (i.e. RESEARCHERS).

      Note: to those who might argue that Perl is an unmaintainable mess: sure, but that's not its purpose. Perl is supposed to be a quick to write language that allows you to write throwaway solutions. The problem is that people are trying to maintain Perl code. That's not what it's supposed to do. Perl is at its best solving a problem that you'll never face again. Unfortunately, people find it so easy to write that they use it for more permanent solutions.

      If RESEARCHERS were good at writing languages, we'd be writing everything in Pascal, Prolog, and Smalltalk. In its own way, Smalltalk has been brilliantly successful, but not because people write in it. Smalltalk was successful in making other languages more like it. C++, Java, etc. have all incorporated ideas from Smalltalk. Every language is objected-oriented now.

      If Ur/Web has good ideas, then someone else will incorporate them. If it doesn't, then they won't. Either way, it's unlikely that this will itself be the next big thing.

  21. Re:"Ur" by CaseCrash · · Score: 4, Informative

    Are you being stupid on purpose or what?

    "Ur" is a fairly common way to represent an origin or prototypical item of a set, as in a "ur-language" would be the mother tongue from which other languages spring. It seem to be being used in this context to mean more "all-encompassing", or a back to roots type thing, but the meaning still applies.

    Why am I responding to an AC troll....

    --
    No, that link you posted to a web comic we've all seen a hundred times is not "obligatory."
  22. Re: "Ur" by Anonymous Coward · · Score: 0
  23. speed is good by e**(i+pi)-1 · · Score: 4, Interesting

    having on the server side fast and efficient code is nice but there are a plethora of webserver technologies out there and they can interact with virtually any programming language in the background having various technologies working together and having them developed indpendently has lots of advantages. Why bake everything together? Having sepearte entities (server, authoring language, scripting languages, databases) allows more flexibility. Efficiency and simplicity is nice but one can also overdo it. I learned real programming in Pascal, but Wirth soon started to develop the more efficient Modula, then Oberon flavors. Pascal started to stall. Oberon was great, everything, the compiler, operating system, everything fitted on one floppy. From the application and developer point of view it is a disaster to know that the shelf life of a programming language is only a few years, until the developer loses interest finds a better way to rewite the entire thing. This is especially the case for creative guys like Wirth. At one point, (oberon I) he even thought it would be nicer to have no FOR loop, as FOR loops leads to bad programs. Well, he had to reintroduce it in Oberon II. Academic elegance and theory not always goes parallel with the real world.

  24. Cures whatever ails ya by Marginal+Coward · · Score: 4, Funny

    From TFA:

    Not only do they not crash during particular page generations, but they also may not:

    - Suffer from any kinds of code-injection attacks
    - Return invalid HTML
    - Contain dead intra-application links
    - Have mismatches between HTML forms and the fields expected by their handlers
    - Include client-side code that makes incorrect assumptions about the "AJAX"-style services that the remote web server provides
    - Attempt invalid SQL queries
    - Use improper marshaling or unmarshaling in communication with SQL databases or between browsers and web servers

    Cures whatever ails ya. Works even better than snake oil! But wait, there's more. For just $19.95, we'll design two new web programming languages. Just pay separate shipping and processing.

    1. Re:Cures whatever ails ya by Unknown+Lamer · · Score: 4, Insightful

      The author has worked on SML/NJ internals, has a strong background in type theory, and has written similarish software in the past. I'd say he was able to solve those problems. Those problems are not even particularly complicated to solve once you have an expressive type system.

      --

      HAL 7000, fewer features than the HAL 9000, but just as homicidal!
    2. Re:Cures whatever ails ya by Warbothong · · Score: 1

      Ha, so true! It reminds of those C programmers who claim (with a straight face!) that their "+" operator somehow magically knows not to add floats to ints! Or those Java programmers who seem to have drunk the Kool Aid and seem to *honestly believe* that their compiler will "figure out" that a method signature doesn't match that declared in an interface!

      Don't even get me started on those Haskell idiots. Do you know that one of them once told me that they wrote a program by "composing" two functions; that's ivory-tower speak for what we'd call "trying to do something with the result of doing something else" (bloody stupid academics, with their long-winded jargon!). Anyway, get this, he'd done this "composition" *without* checking that the first function returned the right sort of result for the second function!

      Obviously I'm never going to trust his flaky, irresponsible code. Much better to check everything as we go, using "===" when we remember, and pretending that code coverage measures edge-cases in our woefully inadequate unit tests.

    3. Re:Cures whatever ails ya by Anonymous Coward · · Score: 0

      :)

  25. A great idea! by Anonymous Coward · · Score: 0

    Because the only thing Web development needs is yet another confusing abstraction over the plethora of tweaks, hacks, and other self-appointed "technologies" built with the main purpose of actually hiding the inherently dumb, basically stateless, and forever inefficient infrastructure that is HTTP!

  26. Ha ha, a bit late by Anonymous Coward · · Score: 0

    My workplace did this in Perl about three years ago. It's trivial once you recognize that when there's a transactional (e.g. proper SQL) database in the design, all side effects must be organized and confirmed by its concurrency control.

  27. Yep, that's what we needed by Anonymous Coward · · Score: 0

    Yet another language to join the plethora thereof that are used by their creators and few others. I think I'll be creating a language myself as well, as an ego massage.

  28. Anyone here qualified to comment? by Chelloveck · · Score: 5, Interesting

    I'd really like to hear from someone outside of academia who thinks this is useful. I've been programming in C-like languages ever since I graduated college 25 years ago, but my degree is in EE, not CS. The language definition is complete gibberish to me, containing solid pages of a mathematical notation that I've never before seen. Likewise, I have a very hard time following the demo code. I don't really feel qualified to evaluate it.

    I do see some red flags, though. First, since the language spec is given in such an abstract notation I have a feeling that it's going to be very difficult for code monkeys like me to refer back to. I normally reach for the language spec or the official docs when I have a question, but neither are going to do me any good here. Similarly, the tutorial starts out by describing the similarities and differences between Ur and ML or Haskell. That'd be a lot more useful if I'd ever used either of those two languages. The tutorial is incomplete, and what's there never describes Ur on its own without comparing it to the other languages.

    Second, the trivial demos look like some PHP variant, while the complicated demos are, well... Complicated. "Hello, World" simply returns a chunk of what appears to be free-form XML; some others return a chunk of XML with a few embedded Ur statements, similar to PHP. The SQL demos show embedded SQL statements. Are the XML and SQL chunks syntactically part of the Ur language thus checked for well-formedness, or are they just free-form text which get minimally processed to substitute variables before they're emitted? Or is there something else fundamental going on here that I'm missing completely due to my lack of familiarity with functional programming?

    Third, the official web site looks like something out of 1995. That's not necessarily a bad thing. It is clean and functional, just really, really utilitarian. I assume the site is done in Ur/Web, and it's clear that the author of the language learned HTML back when Mosaic was the hot new browser. Is the utilitarian look just how the author or site designer does things, or is it baked into the language? How hard would it be to implement something that looks modern? In the same vein it looks like Ur/Web produces xhtml as its output, and it looks like Ur/Web pretty much relies on well-formed XML embedded in the Ur source code. Will it have access to any of the new goodies in HTML5? Or is it going to be obsolete before the first Dummies book can be written?

    So if there's anyone here who does real-world web development and has the academic chops to evaluate Ur/Web for what it is, would you please post a summary for us code-troglodytes?

    --
    Chelloveck
    I give up on debugging. From now on, SIGSEGV is a feature.
    1. Re:Anyone here qualified to comment? by Shados · · Score: 1

      Its nothing special. The language itself is just yet another functional language variant, like ML, Scala, F#... hell, a lot of it can be done in C# or Ruby if you wanted to code that way. So thats pretty sound, more and more programming is going that way (you can even do a lot of it with the newer C++ specs)

      The specs are in math formulas because functional languages tend themselves well to that. I don't have a CS background either, but I've done enough functional programming to be able to infer what they mean in the specs.

      Looks like as you said, XML and SQL and stuff are part of the language via extension.

      All around, this is completely useless, like all the other fancy frameworks and languages trying to revolutionize the web (ie: Dart, CoffeeScript, whatever). The problem is always, web development is evolving faster than anything else in software engineering. Stuff you learnt 2 months ago are obsolete today.

      So any assumption made on technology being used, techniques, or sandbox of some kind that limits you, will obsolete very quickly. In this case, what if my backend is MongoDB (more and more common). The entire SQL part becomes useless and I have to do it manually via their other hooks, and with no supported SDK to help me, so I'm a few steps behind.

      Even then, you'd never want SQL and logic in the same file, so things would get split (which I'm sure you can do), and then all the fancyness of being able to embed it becomes redundant.

      It has an interface to hook into vanilla C or javascript code, but if I do that, I go out of the scope of the language.

      Yeah, I'll pass =P

    2. Re:Anyone here qualified to comment? by Anonymous Coward · · Score: 0

      Even then, you'd never want SQL and logic in the same file

      I'd hate to see what your SQL looks like.

    3. Re:Anyone here qualified to comment? by BarbaraHudson · · Score: 1

      Even then, you'd never want SQL and logic in the same file

      I'd hate to see what your SQL looks like.

      I think the answer to that is something along the lines of "You can't because it gets generated at run-time, causing all sorts of problems." Scary.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    4. Re:Anyone here qualified to comment? by bjk002 · · Score: 1

      I'm qualified. No, it's not useful at all. Just another abstraction...

      --
      Opinion:=TMyOpinion.Create(Me);
    5. Re:Anyone here qualified to comment? by NoKaOi · · Score: 2

      The language definition is complete gibberish to me...I do see some red flags, though

      You don't need a CS background to see the red flags. You don't even have to get as far as the summary.
      "Unifies Web Development" - red flag #1
      "Single, Speedy New Language" - red flag #2

    6. Re:Anyone here qualified to comment? by Shados · · Score: 1

      Thats a different discussion. However, what I meant is that you probably shouldn't have your data access and your front end templates interweaving...

  29. Re: by Anonymous Coward · · Score: 0

    I bet the 100 random people fail to mention the ancient Mesopotamian city as well. We should not talk about that city any more either, since this corruption of 'your' is so much more prevalent.

  30. Re: by rossdee · · Score: 1

    Ur could be:
                    You Are
                    Your
                      An acient city in the Sumarian region of the middle east
                      University of Rochester (New York, not MN)

    Might be something to do with bears too (Ursa)
     

  31. Re:Is it a Node.js replacement? by Anonymous Coward · · Score: 0

    HR people are just waking up. By the end of the day, you'll see some looking for 5 years Ur/Web experience.

    You're just jealous... there's 1000's of H1-Bs over in India with at *least* 5 years of Ur/Web experience.

  32. More worthless languages by WaffleMonster · · Score: 1

    In my view presence of domain specific languages throughout data, application and presentation tiers is the source of the platforms power. It's what makes it not suck.

    Yes annoying for beginners to have to learn w,x,y and z just to do anything... what is even more annoying is consequences when it comes time to stand up non-trivial systems.

    In my view the future of programming will be about the rise of domain specific languages where very little room remains for lies and assumptions generated by glue languages.

  33. Bah by bigsexyjoe · · Score: 1

    It's trying to abstract away things like the database and the separation between client and server side. Every attempt to abstract away real things that I have seen has been crap. When you abstract away the HTML and the SQL and the AJAX, it means you can't dig into it for the nitty-gritty. If they finally got it right, congrats, but I doubt they have.

  34. Death by Manual by fhage · · Score: 5, Insightful
    This language/framework has all the signs of an academic exercise.

    As someone who's been programming since the 1970's, I find it pretty hard to get past this statement in the Manual' "We give the Ur language definition in LATEX math mode, since that is prettier than monospaced ASCII".

    The author's choice precludes anyone cutting and pasting difficult syntax from the reference manual into their program. Look at page 26. Does any programmer find this useful? Scanning down to the more practical bits, I find;

    "The Ur/Web compiler is unconventional in that it relies on a kind of heuristic compilation. Not all valid programs will compile successfully. Informally, programs fail to compile when they are “too higher order.” Compiler phases do their best to eliminate different kinds of higher order-ness, but some programs just won’t compile."

    Really? Valid programs may not compile. I wouldn't spend a second learning any programming framework with this fatal flaw.

    1. Re:Death by Manual by Matheus · · Score: 2

      This.^

      I can't believe I just read that. New debugging cycle including your code might not work because the compiler doesn't like you that day? I felt like that when i was learning to code in C honestly but I'm sure it was rarely true ;-)

      A non-deterministic compiler can suck my big fat one and go far far away before the dribble drops.

    2. Re:Death by Manual by Tablizer · · Score: 1

      They may not compile, but in a cool way. "Yes, Mr. Boss, section X failed to run without warning and lost us 4,000 customers, but it did so in an intellectually stimulating way."

    3. Re:Death by Manual by Anonymous Coward · · Score: 1

      Kinda heurestic compiler that fails randomly.

      Oh, god that's hilarious.

    4. Re:Death by Manual by Anonymous Coward · · Score: 0

      Really? Valid programs may not compile. I wouldn't spend a second learning any programming framework with this fatal flaw.

      Reminds me of INTERCAL. Maybe it will compile if you add sufficient PLEASE?

    5. Re:Death by Manual by thogard · · Score: 1

      I wrote a C compiler that would sometimes not compile correctly but it was based on a an attempt to use neural nets to do complex parsing.

    6. Re:Death by Manual by Anonymous Coward · · Score: 1

      It's not non-deterministic. The reason why some valid programs may fail to compile is that the compiler has to prove certain correctness properties about the program before it will admit it. Some of these properties are in fact equivalent to the halting problem, so the compiler has to use heuristics to prove as many programs correct as it can, but it's forced to reject occasional valid programs which it can't *prove* valid. In practice however, this only happens if you're doing some serious metaprogramming with higher-order polymorphism.

  35. Tokenization streams forthcoming... by ElitistWhiner · · Score: 1

    Inherent in the transactional paradigm is tokenization emergent as the exchange currency needed for efficiency. SO this is a first step toward monetization platforms abstracting out the software labor component.

    1. Re:Tokenization streams forthcoming... by PPH · · Score: 1

      Sounds like what you are saying is that thhis is a s/w development methodology that is even cheaper than sending out the coding work to a job shop in India.

      The next step is a language/compiler that can take chicken-scratches off a whiteboard in a brainstorming session and build production code from it.

      --
      Have gnu, will travel.
    2. Re:Tokenization streams forthcoming... by ElitistWhiner · · Score: 1

      Chicken scratch yes. SO like APL; s/w tokens on whiteboards why not? BUT interpretable methodology. THEN outsourced compensation to India favors token based over wage-labor metrics. It dis-incentivizes scribes in codex monasteries writing task du jour monolithic programs instead building, assembling and engineering universal tokenized components to specification for standard application use or general custom applications.

      MOST importantly once s/w tokenized: monetization occurs. Monetized== marketable=marketplace.

      Full circle, a token of universal currency for assembly in mind, by hand, by interpreter, by AI, finally computer self assembly. Knowledge economies evolve. The monks of s/w development stop scripting - start producing tokens of knowledge they own, sell, maintain, revise, improve and resell .

  36. How siÄ(TM) tenis different from Clojure/Scri by MSBob · · Score: 1

    the concepts behind Clojure and its sibling ClojureScript are exactly what they are describing. Maybe the time would be better spent popularizing a language with immutable structures and software transactional memory as opposed to creating yet another one?

    --
    Your pizza just the way you ought to have it.
  37. Re:"Ur" by Viol8 · · Score: 1

    ""Ur" is a fairly common way to represent an origin or prototypical item of a set,"

    Oh yeah , in which niche arena is this? I've never heard of it. Seems to me it was meant to be a hipster way of saying Your Web. And it failed. Miserably.

  38. Re:"Ur" by Anonymous Coward · · Score: 0

    Oh, well, if it "seems" to the great and mighty Viol8 then it must be the truth. Never mind what the official FAQ says, that was obviously written by a noob.

  39. From someone who's actually used it... by Anonymous Coward · · Score: 2, Interesting

    Ur/Web isn't easy to use. It's a huge pain to get any program past the type-checker, not just because the compilation errors are hard to understand (though this is a fixable problem, and one that Prof. Chlipala has been working on since I used it, if I'm not mistaken), but because it's always going to be an order of magnitude harder to develop in Ur/Web than in a dynamic language like Ruby etc., especially when you need to use stuff like higher-order polymorphism and functors and other concepts from type theory which I confess I don't understand.

    So what's the benefit? The point is "provable correctness". In C, if you write outside the bounds of a buffer, you get no help from the language in preventing bad things from happening. In Ruby, if you try the same then the language catches the error at runtime, but you have the overhead of an array-bounds check on every write. In Ur/Web, you get the best of both worlds: since the compiler /proves/ that no buffer overflows can occur, then there need be no checks at runtime, so you get better performance.

    And the same concept applies to pretty much any concept of "correctness" you'd like to express. Ur/Web has an entire SQL type, rather than representing SQL as strings, so that the compiler can prove that no SQL injection attacks are possible. (It's not possible to accidentally coerce a string to SQL---you'd have to really try.) It's possible, in principle, to express any kind of invariant you'd like using a type system like Ur/Web's. (Ur/Web doesn't include some constructs, e.g. dependent types, for reasons of language simplicity, but you can envision a similar language which would). In a dynamic language, you have to create more and more complicated (and slower) tests in order to show that your program has the same properties---and of course, your tests could always miss an edge case.

    So who should use Ur/Web? Anyone for whom security is a bigger concern than ease-of-coding: banks, the military, hospitals, etc. If you want to whip up a quick web app, then Ur/Web is probably not for you. But if you need security, and you need to be certain you have it, then you should consider Ur/Web.

    1. Re:From someone who's actually used it... by BarbaraHudson · · Score: 1

      Ur/Web has an entire SQL type, rather than representing SQL as strings, so that the compiler can prove that no SQL injection attacks are possible. (It's not possible to accidentally coerce a string to SQL---you'd have to really try.)

      That's a problem with sql, no matter what language you use. There are other ways to design a dbms that don't use sql ...

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    2. Re:From someone who's actually used it... by Anonymous Coward · · Score: 0

      Ur/Web has an entire SQL type, rather than representing SQL as strings, so that the compiler can prove that no SQL injection attacks are possible. (It's not possible to accidentally coerce a string to SQL---you'd have to really try.)

      This sounds like it shares one of the least pleasant limitations of ORMs and .Net LINQ, namely that only simple queries are readily supported. So, as soon as I need something like MERGE INTO, it's back to mashing strings together, and passing them directly through to the DBMS layer, or if I'm lucky, there's some language/library support for parameterized queries.

      - T

    3. Re:From someone who's actually used it... by MooseMiester · · Score: 1

      Does it enable the developer to derive a new type from an existing type? One would assume so. In which case all the type safe arguments in the world mean nothing. Can't cast a string to a SQL type? Create a new class that allows this, and provides a mechanism to cast to a SQL type, security hole created...

      Or just do half decent Q/A... Which costs a lot less than training staff on a new language to solve a problem that's really developer competency.

      --
      Murphy was an optimist
  40. Re:Is it a Node.js replacement? by Deep+Esophagus · · Score: 3, Insightful

    Hearing a disturbance, the master programmer went into the novice's cubicle.

    "Curse these personal computers!" cried the novice in anger, "To make them do anything I must use three or even four editing programs. Sometimes I get so confused that I erase entire files. This is truly intolerable!"

    The master programmer stared at the novice. "And what would you do to remedy this state of affairs?" he asked.

    The novice thought for a moment. "I will design a new editing program," he said, "a program that will replace all these others."

    Suddenly the master struck the novice on the side of his head. It was not a heavy blow, but the novice was nonetheless surprised. "What did you do that for?" exclaimed the novice.

    "I have no wish to learn another editing program," said the master.

    And suddenly the novice was enlightened.

    This lesson from The Zen of Programming is as relevant today as it was 30 years ago.

  41. Page Controllers and SQL Databases by CyberLife · · Score: 1

    Not that there's anything inherently wrong with these technologies, but when your language seems to be based on that way of doing things ... I think the 1990's called.

  42. Re:How siÄ(TM) tenis different from Clojure/S by Anonymous Coward · · Score: 0

    I'd wager creating your own (completely useless) academic language, with its own (completely unreadable) math specification is way more fun to the average researcher, than doing anything useful with their grant money.

  43. Thank God by brunes69 · · Score: 1

    This is what I have been saying all along as holding the web back - two few programming languages.

    Now that we have this new language, we can finally move forward.

  44. Sure to be as wildly popular as haskell... by gestalt_n_pepper · · Score: 1

    The idea is good. But please, this is not hard to understand. NOBODY is going to learn a brand new language and new syntax unless they're under 22 or they've never learned another language and just stumbled into your new wunderkind.

    Make a version of c, basic or Javascript that does the same thing and you have a remote chance of adoption. Make a new version of web erlang and you might as well be jacking off on Mount everest in the dark. You're safe because nobody will ever see it.

    --
    Please do not read this sig. Thank you.
    1. Re:Sure to be as wildly popular as haskell... by dbc · · Score: 1

      Riiiight. That's why we still use FORTRAN for so much new code.

      New programming languages succeed when they:
      1. Provide compelling beneifts to some group of developers.
      2. Are freely licensed (Java tried to break this rule for a while).
      3. Are well documented with both reference and tutorial information in many forms.
      4. Are delivered with a stable reference implementation.
      5. Are correctly marketed.

      I'm old enough that I did CS homework on punch cards, and I've probably learned and forgotten more languages than most Slashdotter's have ever used. I learned something from every one I tried, whether I became fluent or merely dabbled. Don't dismiss the new just because it is new. In this business, that will be the end of your career. Try every new thing that looks like it has a chance of succeeding. Then, dismiss the ones that truly suck. *That* is how you become a successful grey-beard curmudgeon sitting on the other side of the design review table.

    2. Re:Sure to be as wildly popular as haskell... by Shados · · Score: 1

      You forgot "Or its inspired by some retarded Ruby idea one way or another".

      Throw Active Record or "Similar to Rails" in there and people somehow gobble it up, no matter how retarded the idea is. Case in point: Coffeescript.

  45. Re:Is it a Node.js replacement? by Anonymous Coward · · Score: 1

    Luckily I have 10/yrs experience developing enterprise grade Ur/Web applications for modern, agile, development studios with a range of clients from small, quick, engagements for marketing campaigns up to enterprise applications that have grown form multiple frameworks and stacks being used across an entire horizontal market.

  46. Re:"Ur" by Anonymous Coward · · Score: 0

    So this language was developed by an illiterate moron?

    Perhaps more literate than you appear to be. Ur- is prefix for "primordial" in German. It is also a reference to Ur, a city state of more than 5500 years ago (which is mentioned in numerous ancient texts), and was one of the early agricultural settlements. The Germanic ur- prefix seems to be descended from the latter city-state usage. Many of us learned about Ur (the city-state) way back in high school or in middle school.

  47. Re:"Ur" by Viol8 · · Score: 1

    Yeah , I'm suuuure thats why they chose Ur. Nothing like retrofitting a reason is there? Also someone should tell them the difference between ancestor and descendent because clearly they have no idea.

  48. Re:Is it a Node.js replacement? by roc97007 · · Score: 1

    I thought people were pretty much ignoring IE these days.

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  49. Re:Is it a Node.js replacement? by roc97007 · · Score: 1

    HR people are just waking up. By the end of the day, you'll see some looking for 5 years Ur/Web experience.

    You're just jealous... there's 1000's of H1-Bs over in India with at *least* 5 years of Ur/Web experience.

    I think we have some working for us. The price was right.

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  50. Re:"Ur" by Anonymous Coward · · Score: 0

    The FAQ is pointing to a wikipedia article that states

    "There is no generally accepted term for this concept. Most treatments of the subject do not include a name for the language under consideration (e.g. Bengtson and Ruhlen 1994). The terms Proto-World and Proto-Human[1] are in occasional use. Merritt Ruhlen has been using the term Proto-Sapiens."

    And oddly the wikipedia page does not list Ur as one of the proto-languages ...but

    http://en.wiktionary.org/wiki/ur- get's into the German basis for the prefix

  51. Re:Is it a Node.js replacement? by roc97007 · · Score: 1

    Besides, everyone knows you should be using Emacs.

    No, wait...

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  52. Re:freeing developers from working with each langu by ArcadeMan · · Score: 1

    This particular xkcd strip has been referenced so often at this point that I think we can just write "xkcd 927" without even linking to it.

  53. app specific problem =/= app specific solution by luis_a_espinal · · Score: 3, Interesting
    I typically side with the camp that thinks concurrency and distribution (and other things like security or fault/partition tolerance) are application-specific problems because it is the set of application (or domain) specific requirements dictate how much or how little they require from each capability.

    With that said, I disagree with this:

    Why shouldn't a language solve the problem of concurrency and distributed applications?

    Because this can only be effectively answered by the application?

    An application can only effectively address such challenges when using the appropriate levels of abstraction. And by *appropriate* we mean not just appropriate in the level of high (or low) level features, but also in the amount of resources that are required to construct a system with the right synergies between application and supporting (underlying) platforms.

    For instance, having an actor model supported as a language feature help application domain developers exploit (or create) the necessary abstractions for concurrency far more economically than using an actor model developed from scratch (or as an add-on framework)... at least for applications whose concurrency requirements are best served with an actor model over more low-level constructs (locks and shared resources)

    Or think fault-tolerance. A language that has concepts such as a valves as actual language or run-time features is far more valuable for developing certain classes of fault tolerance systems than languages or runtimes that do not have any (a reason why most systems are not equipped with any means of throttling to cope with partial failures.)

    Language does not enable non-trivial problems to scale out... application architecture enables this and concurrency is of the same coin.

    Resource-efficient realization of an application architecture into a design and implementation are highly dependent on the language and run-times of choice.

  54. Re:"Ur" by Anonymous Coward · · Score: 0

    Unfortunately you are the illiterate person here.

    "Ur" is a germanism in English. In German it has the meaning CaseCrash m, itentioned.
    No, it's not "new" and "hip". It's actually somewhat dated. My guess is English loaned that word around the same time it loaned a smattering of other words, sort of around turn of the 20th century, maybe up to the first half of the 20th century.

    Someone who read more than comics probably crossed paths with that word/prefix somewhere at school.

  55. Re:Is it a Node.js replacement? by jmcvetta · · Score: 1

    What isn't a Node.js replacement?

  56. Re:"Ur" by Anonymous Coward · · Score: 0

    When I first saw it, I assumed it meant what the GP wrote. Dictionary says "primitive; original; earliest : urtext. ORIGIN from German". So, um...

    Have you considered that you might know *everything*, and that someone who works at the world's foremost engineering school might be aware of one or two of those things you don't know?

  57. Re:Is it a Node.js replacement? by angel'o'sphere · · Score: 1

    Actually you can use Emacs now indeed, with current memory sizes 'eight megs and continiously swapping' won't happen anymore :)

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  58. PHP = Powerfully Horrendous Programming by MrBigInThePants · · Score: 5, Interesting

    If it is then it is DOA. ;) Sorry all you php fans, but seriously?!

    But seriously seriously: I don't believe that is the approach he is talking about. PHP is a very different beast.

    Their choice of a functional programming language is an eyebrow raiser but I understand the reasons why and can even applaud the sentiment for high volume transactional websites. (speaking as an architect with experience of such in the CC industry) I do sort of lament the lack of any OO framework within this (my assumption from article) but perhaps it is not needed as much since most data is from a relational DB. The incongruence between relational data and OO design has always caused problems anyway - obvious in the complexity of frameworks like "hibernate" etc.
    And for those that think that OO and functional languages cannot mix need to do a course on multi-paradigm programming like I did. ;)

    The CONCEPT has real potential and it will be interesting if and how these (assumedly MIT-smart) researchers deal with the main problem that any "do lots for you behind the scenes" (I am inventing a new architectural pattern here!) frameworks: Sacrificing flexibility of solution for ease of use.
    This is where limits are introduced because frameworks are forced to make choices about implementations and those choices have consequences. Implementing an elegant and simple solution with a huge amount of flexibility, easy extension and power is one of those holy grails that I have yet to see ANY framework in existence reach to any degree - there are ALWAYS trade-offs.
    Many of these frameworks start off with the claim of "really simple!!" but over time their lack of forethought and the punishing reality of REAL project development (as opposed to the dreams of researchers) causes the language to either be wholly inadequate or to mutate over time into an absolute nightmare.
    e.g. Auto hot key STILL makes the claim on their website that they are so easy to use, despite what their language has turned into: http://www.autohotkey.com/
    A very good example of this principle in action.

    e.g. VB was very productive (for its time) when all you did was use the out of the box stuff the language was designed for. Go off road (which inevitably happens in real projects) and you could enter VB hell very very quickly. Fixing said problem was usually possible but at the cost of a HUGE increase in skill and knowledge which is beyond many of those who picked it for its easy of use.

    So the questions I would be interested to find out are:
    - How far can you get before the above happens?
    - What percentage of typical advanced web app functionality is covered?
    - How HARD is it to extend (I assume its possible) and what skills are required to do so?

    There are of course thousands of others to answer before I would even consider using this in a real product!

    1. Re:PHP = Powerfully Horrendous Programming by Anonymous Coward · · Score: 0

      AutoHotkey is easy to use. You are referencing the wrong site though --- autohotkey.com is version 1.04ish, and is 7+ years old. Lexikos, Chris (original dev) and most of the "gang" are at ahkscript.net, and github.

      Bah, apparently I moderated in this thread.

  59. The code is so good... by Anonymous Coward · · Score: 0

    That the entire wikipedia site is down. Something about can't connect the the database server.

    This is after the author self-proclaims that it's ready for production use.

    I think not.

  60. Re:Is it a Node.js replacement? by roc97007 · · Score: 1

    Actually you can use Emacs now indeed, with current memory sizes 'eight megs and continiously swapping' won't happen anymore :)

    That's actually true. Very good point. And considering there's an Emacs plugin to do pretty much anything and Emacs runs on pretty much every platform, there's really no reason (anymore) to use a different editor for anything. Ow, I think the master just struck me on the side of the head. The master speaks: "Emacs is not an editor, Emacs is an operating system".

    (Before the editor wars start anew, this was written somewhat in jest. As a sysadmin I had to support Emacs, but I remain a VI user. And yes, I know there's an Emacs plugin to emulate VI. Which is precisely like mounting Volkswagon Beetle controls in a Mack truck.)

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  61. Re:Is it a Node.js replacement? by Anonymous Coward · · Score: 0

    LOL this made my day ^^^

  62. Frames in 2014 by maugle · · Score: 1

    Haven't you heard? Frames are the solution to every technical problem that you will have in the future. After all, frames securely mediate, by design. Secure multi-mediation is the future of all webbing.

  63. Re:Is it a Node.js replacement? by angel'o'sphere · · Score: 1

    Of course Emacs is an operting system! However it lacks a decent editor!
    That is why I use vi/vim as well!

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  64. Re:Is it a Node.js replacement? by roc97007 · · Score: 1

    Of course Emacs is an operting system! However it lacks a decent editor!
    That is why I use vi/vim as well!

    I always thought that was the real reason Emacs had a VI emulator plugin -- because every OS needs an editor.

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  65. So kind of like Zope, but less portable.

  66. So closed-minded... by beakerMeep · · Score: 2

    It takes 2 clicks on Haxe's site to see it can be used with lots of different kinds of client and server code. Flash is mentioned as an "also, haxe can make swfs" http://haxe.org/use-cases/web/ (despite Flash being a huge part of Haxe's maturing development) http://en.wikipedia.org/wiki/H...

    Flash development and ActionScript as a language were never "shit". It certainly was abused and mismanaged, but technologically Flash/AS was amazingly useful -- especially in tying animation to code.

    If you ever are willing to challenge your own beliefs you should take some time and checkout Haxe, and Apache Flex. Try keeping an open mind to technologies that greatly shaped the web we have today. A lot of ECMAScript was based on lessons learned from ActionScript. A lot of web games and comics were brought to you by Flash. YouTube, Twitch, Hulu, Yahoo Maps (formerly), and thousands of games, all were built on the backs of Flash. Firefox's original JIT was based on Flash 9 and donated by Adobe and is the second largest open source code donation ever to Mozilla.

    Does Flash have problems? Definitely.

    Should you dismiss a huge part of the web out of hand? Only if you want to make yourself look like a fool.

    --
    meep
    1. Re:So closed-minded... by Anonymous Coward · · Score: 1

      Agreed. I wish most of what Actionscript had and then standardised was fully adopted by Javascript/ECMAScript but they dumped it in the end and stayed with shitty old Javascript. Adobe did a lot of great stuff before the wheels fell off and Flash mostly went down the gurgler. No matter what anyone who doesn't know better says the tech itself was hardly the bulk of the problem, it was the use/abuse of it and general web politics that turned people against it. For general sanity I'd still rather be building stuff in it than the mess and giant schizophrenic framework clusterfuck that is modern web crap.

      The Flash spec and API happily lives on in projects like Haxe and a few of the development frameworks it supports. The scope of the whole project is pretty mental so really, check it out.

  67. Re:"Ur" by sysrammer · · Score: 1

    I've seen it used in archeology and linguistics.

    Ur welcome.

    --
    His ignorance covered the whole earth like a blanket, and there was hardly a hole in it anywhere. - Mark Twain
  68. Not even trying by daveime · · Score: 1

    Come on guys! Framesets in 2014, seriously?

  69. A common word in German by mha · · Score: 1

    Any German will know. It's use stems from a time when you were just as likely to find a scientific text in German - the 99.99% English dominance (in international scientific publications) happened after 1933...

    http://www.word-detective.com/...

    http://en.wiktionary.org/wiki/...

    http://en.wikipedia.org/wiki/U...

  70. Re:freeing developers from working with each langu by Anonymous Coward · · Score: 0

    This particular xkcd strip has been referenced so often at this point that I think we can just write "xkcd 927" without even linking to it.

    http://xkcd.com/1053/ Obligatory.

  71. M$ already tried this... like eons ago by MooseMiester · · Score: 1

    Microsoft tried the compiled web page idea with .net, it was called a "Smart Client". You wrote a desktop app, basically, that was "served" through the browser (which, of course, had to be IE). In essence it was the "browser as MSI delivery system on the fly". Managed a team of guys who wrote a large, complicated labor tracking/payroll system in it. When it worked, it was awesome. Sadly that wasn't as often as management liked...

    Remember the versioning issues all these compiled solutions had? The "Smart Client" solution (compiled web pages) didn't account for different versions of IE, and of course the IE guys and the .net guys never talked to each other. So as long as you had .net run time version 1.2.6.9982 and MDAC version 2.8.9.3345 and IE6 version 6.0.22.3.44.54588 it worked great! Otherwise nobody got paid, sorry.

    So if we could just get everyone to run the same, exact browser on desktops & mobile devices... then Url would be a grand and glorious solution, provided we had a single entity who controlled it... that we paid the requisite licensing fee too... and we all upgraded en masse. Oh, wait a minute, isn't this the same, exact state of the world before the Internet came along? That we never quite achieved, because no one company could ever dominate anything?

    So if the government just mandated that we all use Url, on a specific hardware configuration, all using the same everything... this could work! I'd wager that's the dream of the ivory tower Gruberist folks at M.I.T.....

    --
    Murphy was an optimist
  72. Backwards by Anonymous Coward · · Score: 0

    While I abhor javascript and the present web design paradigm, this honestly looks like a step backwards in terms of web development evolution. I shutter to think that this might become the standard, even more so than the fact that javascript is already the standard. Functional programming has its place, but it is not in the web. Especially not with XML.

  73. Oh Yay, another language for the web by Shivantrill · · Score: 1

    Another language that is similar to, but not quite resembling, an existing language. Honestly I am finding it difficult to keep up with all the different frameworks and languages and such. Bootcamps churning out web developers who learn how to make pretty pages but have no foundation to build upon, like data structures and algorithms. A seamstress goes to a web developer bootcamp and now all of a sudden she thinks she is a rockstar software developer. She may be awesome with her HTML, killer using CSS, but does she know how to get data from a database? Then you have the marketing guys who will want to use this new language. First it was the cloud, everything was about the cloud. Then it was Big Data, yes lets do that, lets do big data. They jump on every new trendy hip thing out there. Then the IS directors and HR managers try to hire someone with experience in the new language that just came out. How are you going to find someone with 1-2 years experience in it unless it is the person who wrote it? What we really need is for the existing languages to enforce good programming practices. Not to be picking on anyone, however, have you ever looked at some of the code out there? So many of these so-called programmers can't seem to use a newline character, or an indent. And adding comments in their code is like giving away information to the enemy. I would like to see more standardization and less new baubles and shiny bits.

    --
    Karma, We don't need no stinkin' karma!
  74. Re: by Anonymous Coward · · Score: 0

    "Oh yeah , in which niche arena is this?"

    In the niche arena of culture. You probably never heard of it.

  75. Re:Is it a Node.js replacement? by Anonymous Coward · · Score: 0

    What but what text editors does this "Emacs" OS come with?

  76. Pendulum swinging back to static analysis by clenhart · · Score: 1

    It's nice to see the pendulum swing back to static analysis of your code. If you want static code analysis, GWT is very stable and all the issues worked out, which there will be in a 1.0 release. GWT's UIBinder is one 2.0 feature that cleans up your code quite a bit while keeping static code analysis. The compiler will error when Java code refers to UIBinder's HTML markup that doesn't exist.