Slashdot Mirror


2017: The Year in Programming Languages (infoworld.com)

InfoWorld writes that 2017 "presented a mixed bag of improvements to both long-established and newer programming languages." An anonymous reader quotes their report: Developers followed a soap opera over Java, with major disagreements over a modularization plan for standard Java and, in a surprising twist, Oracle washing its hands of the Java EE enterprise variant. Microsoft's TypeScript, meanwhile, has increased in popularity by making life easier for developers looking for an alternative to JavaScript. Microsoft also launched Q#, a language for quantum computing...

In web development, developers received a lot of help building with JavaScript itself or with JavaScript alternatives. Among the tools released in 2017 were: Google's Angular 5 JavaScript framework, released in November, featuring a build optimizer and supports progressive web apps and use of Material Design components... And React, the JavaScript UI library from Facebook, went to Version 16 in September, featuring a rewriting of the React core to boost responsiveness for complex applications...

TypeScript was not the only JavaScript alternative making waves this year. For web developers who would rather use Google's Go (Golang) language instead of JavaScript, the beta Joy compiler introduced in December promises to allow cross-compilation. Another language that offers compilation to JavaScript -- although it began on the JVM -- is Kotlin, which has experienced rising fortunes this year. It was boosted considerably by Google endorsing it in May for building Android applications, which has been chiefly the domain of Java...

2017 also saw the release of the long-awaited C++ 17.

Another 2017 memory: Eric Raymond admitting that he hates C++, and predicting that Go (but not Rust) will eventually replace C -- if not a new language like Cx.

62 of 117 comments (clear)

  1. Wow, Infoworld by TheRaven64 · · Score: 1
    I haven't seen an InfoWorld article for ages, and after reading their C++17 article, I remember why.

    C++ seems to now have enough momentum that I can actually use new features. It wasn't until 2003-4 that C99 support was sufficiently widespread that people didn't complain if I used C99 features, and C++ had a huge ABI change around that time in the *NIX world that broke everything. These days, I'm already using C++17 features (finally, the language has decent support for multiple return values and tagged unions!).

    --
    I am TheRaven on Soylent News
    1. Re:Wow, Infoworld by The+Evil+Atheist · · Score: 2

      Then add the standardization of WebAssembly, C++17 is going to gain even more momentum in places we don't expect.

      --
      Those who do not learn from commit history are doomed to regress it.
    2. Re: Wow, Infoworld by TheRaven64 · · Score: 1

      I've not come across any C++17 bugs in clang / libc++. Perhaps you could list some of the major highlights from the 'large amount of bugs'.

      --
      I am TheRaven on Soylent News
    3. Re:Wow, Infoworld by lucasnate1 · · Score: 1

      Back in the day I remember using boost::variant for tagged unions and creating DECLARE_ASSIGN_N macros for every possible N to do pattern matching on a function that returns a tuple. Ah, the good old times.

    4. Re: Wow, Infoworld by The+Evil+Atheist · · Score: 1

      All the major stuff has been working for me since clang 4. constexpr if, variant, optional, any, filesystem (some APIs are not up to date).

      In clang 5, I've used constructor type deduction.

      --
      Those who do not learn from commit history are doomed to regress it.
    5. Re:Wow, Infoworld by Anonymous Coward · · Score: 2, Insightful

      Not only C++. With WebAssembly one can have a python, swift or go interpreter in the browser. WebAssembly will probably start reducing market share for Javascript which to me is a good thing as I've wasted uncountable hours nitpicking small syntax javascript errors that were causing problems.

      I still think C++ has lots of flaws that are totally unnecessary. For example designers insist on not making syntatical breaking changes in C++ which to me is senseless. They could come up with a common bytecode as swift has already done. Then you can just simplify C++ making breaking changes as there will be still binary compatiblity (which at the end of the day is what one wants). That would lead to huge amount of reduction of unnecessary complexity in C++, cleaner code, remove unnecessary undefined behaviour, faster compile times... That would make C++ developers way happier and probably increase its usage with has been stagnant for a long time already.

    6. Re: Wow, Infoworld by 0100010001010011 · · Score: 1

      Just search the gcc bugzilla.

      Why would clang's bugs be in the gcc bugzilla?

    7. Re:Wow, Infoworld by The+Evil+Atheist · · Score: 2

      It's not senseless. C++ programs are written for systems intended to last a long time. So no one really wants to have their program suddenly uncompilable. Sure, they have no problem if changes are made that makes other people's projects uncompilable, but not their own. So when you factor in the fact that everyone uses C++ in a way that suits them, that means no breaking changes to the syntax can be made.

      I would argue this would be C++'s strength for WebAssembly. Unlike with the Javascript, or even HTML situation, web developers finally have an environment where they don't have to cater for every breaking change. Your issue with Javascript is exacerbated by constant churn of incompatible upgrades. C++ does not have this problem and it's a good thing.

      --
      Those who do not learn from commit history are doomed to regress it.
    8. Re:Wow, Infoworld by TheRaven64 · · Score: 1

      Breaking changes will probably be easier after modules are finalised. In a more modern language, you can have breaking changes by sticking a version directive at the top of a file and using that to select the correct version of the parser. Unfortunately, C++ uses the traditional C compilation model where compilation units are split across a load of files, some of which might not be writeable by the programmer, so trying to upgrade everything at once to a new version is a problem. Once modules are here, that coupling is reduced and it will be possible to expose interfaces that aren't necessarily declared in a header whose syntax matches the same version of the standard as the importing file.

      --
      I am TheRaven on Soylent News
    9. Re: Wow, Infoworld by TheRaven64 · · Score: 2

      Make a list of major tech companies that have a significant investment in C++ code. Make a list of companies that are gcc contributors and companies that are clang contributors. You'll find a huge intersection between the first and third lists and a much smaller intersection between the first and second. You'll also find that most of the companies in the second list are also in the third.

      I had it summed up to me quite well by a friend at ARM. He said that their customers basically come in two categories: those that don't care whether they use gcc or clang and those that won't allow GPLv3 code in the door. As a result, guess where they're investing all of their compiler resources. These days, I think most gcc development is done by RedHat, and even that are now investing in LLVM.

      --
      I am TheRaven on Soylent News
    10. Re:Wow, Infoworld by johannesg · · Score: 1

      Alright, imagine that you are a company that has invested billions of dollars into billions of lines of code. And now someone wants you to rewrite all that because all of a sudden the syntax is different to conform to some random notion of "looking neater". Not gonna happen... C++ has a specific niche: it lets you write performant software on a large scale, and it guarantees that your investment will not be worthless overnight. There are plenty of places in the world where languages that change on a yearly basis are considered to be toys.

      As for simplification: that's already happened and it will happen more in the future. Modern C++ is a very far cry from C++98. Yes, you _can_ write shitty code in it - but you can do that in any language, and in C++ you certainly don't have to.

    11. Re:Wow, Infoworld by Hognoxious · · Score: 1

      Bugger! I haven't got round to learning 14 yet!

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    12. Re:Wow, Infoworld by TheRaven64 · · Score: 1

      The main thing in 14 that was useful is auto parameters on lambdas. You can delete a bunch of copied-and-pasted code with them, where it's not quite enough to be worth a separate templated function, and with 11 you can't factor it out into a lambda because one of the parameters has a different type. The most fun new things in 17 are structured bindings (multiple return values can be decomposed from a pair / tuple), std::optional, std::variant, and std::any.

      --
      I am TheRaven on Soylent News
    13. Re:Wow, Infoworld by david_thornley · · Score: 1

      No, this would not make C++ developers happy.

      There is not going to be a common bytecode. Most C++ programs are compiled to native code, for performance purposes. C++ is used for systems and embedded programming, and bytecode isn't suitable for either of those.

      Breaking source compatibility isn't going to happen, even with binary compatibility. Nobody's going to stand for having three incompatible versions with their own compilers. If you were in the industry, you'd realize that you don't write a program, compile it, and never change the source ever again.

      You don't want lots of your code to be frozen in an earlier version of the language, so it would take a major rewrite to bring it up to date. We've been putting smart pointers and "override" and other simple improvements into our code, and getting worthwhile results. If our C++03 code was incompatible with a C++11 compiler, that would be impossible.

      Nobody is going want to have to work with C++03, C++11, C++14, and C++17 in quick succession, trying to remember what features go with what compiler. Best to use a compiler that compiles all versions.

      So, if the Standards Committee came up with something like this, it would become largely irrelevant, as people would continue using what worked for all of their code base.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  2. Microsoft sounds so innovative by Anonymous Coward · · Score: 1

    Alas, 5 minutes with a fresh Windows 10 installation will prove otherwise. What trash.

    1. Re:Microsoft sounds so innovative by 0100010001010011 · · Score: 4, Interesting

      It may be an unpopular opinion, but I actually like Enterprise. I have it at work and uh, found a box that fell off of a truck.

      The difference between Pro and Enterprise is night and day. For some reason "Pro" still has crap like Candy Crush in the menu. Enterprise comes bare bones. The released "Professional" is a slap in the face to professionals that just want a desktop OS.

      In a house with Ubuntu LTS, FreeBSD, and MacOS X I actually like Windows 10 Enterprise. It's like they actually designed it for *drum roll* desktop users. I don't see how they can claim "Pro" is targeted towards business users. Random junk games showing up in the Menu is not something I want on a business desktop. That should have stopped at Home.

      I printed out a keyboard shortcut cheat sheet and can do almost everything without the mouse. If you ignore the close and minimize widgets I can get by using Windows 10 like Awesome WM. UEFI boot doesn't feel tacked on. I don't go through driver hell every time I reinstall, it actually manages to find them or have them installed. (Windows 7 didn't have basic Intel gigabit ethernet drivers...).

      I put off upgrading for so long because of the flaming trash heap that was Windows 10 Home on my wife's computer. I also know quite a few others that did the same. Make the installer ask some basic computer questions ("What is an IP address") and give professional users a professional desktop and it might not have the reputation it does.

    2. Re: Microsoft sounds so innovative by TheRaven64 · · Score: 4, Informative

      What do you like about Windows 10? I had to set it up for my mother and, while I've done some work with MSR and am quite impressed with some of the technology that they've put into it, the UI is terrible. A few examples:

      • In the hour that I used it, I counted 7 different progress indicators. Consistency is one of the hallmarks of a good UI. Windows 10 fails spectacularly.
      • There is a new 'settings' app, which has a different look and feel to control panel. Settings are either there, or in the control panel. You need to check both to discover which (try configuring a trackpad: the settings are split between the two).
      • They have added a number of buttons that look like file icons, but expect a single click (because they're buttons, not file icons) and will trigger some action twice if you double click on them.
      • One of the most important aspects of a good UI is discoverability: a user, exploring the UI, should be able to find all of the functionality of a program. The control panel's default UI assumes that you know exactly why you're there. You need to change the view to get an interface that lets you see all of the options.
      • The search functionality is pretty unreliable for finding installed apps (though it will happily recommend apps from the store for you to buy).

      It felt like GNOME or KDE back in the 1.x or pre-1 days, when there was no consistency and lots of known-bad UI decisions everywhere.

      --
      I am TheRaven on Soylent News
    3. Re: Microsoft sounds so innovative by johannesg · · Score: 1

      Consistency is one of the hallmarks of a good UI. Windows 10 fails spectacularly.

      Let's not (entirely) blame Microsoft for that, though. In the old days, you had a set of common controls that people generally used because they were convenient and everybody knew what they looked like and did. And then came the web, and mobile phones, and suddenly everybody wanted to build their own set of controls that looked and acted completely different from everything else. User interface design is now driven by how cool it looks, rather than functionality. And sure, it is less boring - but I do miss the old days where you knew what was going to happen before you experimented with it.

      Now get off my lawn.

    4. Re: Microsoft sounds so innovative by Archimonde · · Score: 1

      As an example, I challenge any normal user to find screen saver settings in windows 10 without using start/search. It is actually difficult to find.

      --
      Trolls are like broken clocks. They show the truth two times a day. The rest of the day they talk nonsense.
    5. Re: Microsoft sounds so innovative by chispito · · Score: 1

      What do you like about Windows 10?

      I like that it boots fast, has a clean efficient UI, and has a recent version of PowerShell installed so I can automate whatever I need.

      I had to set it up for my mother and, while I've done some work with MSR and am quite impressed with some of the technology that they've put into it, the UI is terrible. A few examples:

      • In the hour that I used it, I counted 7 different progress indicators. Consistency is one of the hallmarks of a good UI. Windows 10 fails spectacularly.

      Okay. Never noticed an abundance of different progress indicators but I'll try to pay more attention. You are probably right, as far as I am concerned, though I don't think that's a major deal.

      There is a new 'settings' app, which has a different look and feel to control panel. Settings are either there, or in the control panel. You need to check both to discover which (try configuring a trackpad: the settings are split between the two).

      They have added a number of buttons that look like file icons, but expect a single click (because they're buttons, not file icons) and will trigger some action twice if you double click on them.

      If it's in a file browser or your desktop, double-click. Otherwise, single. This isn't new, though I understand the confusion, as MS never has done a good job of explaining this. Launching two of something is not a new experience.

      One of the most important aspects of a good UI is discoverability: a user, exploring the UI, should be able to find all of the functionality of a program. The control panel's default UI assumes that you know exactly why you're there. You need to change the view to get an interface that lets you see all of the options.

      This is something that has remained unchanged since Windows 7. I agree with you here, always switch to icon view.

      The search functionality is pretty unreliable for finding installed apps (though it will happily recommend apps from the store for you to buy).

      It hadn't indexed yet. Try now. I doubt you'll ever have that issue again.

      It felt like GNOME or KDE back in the 1.x or pre-1 days, when there was no consistency and lots of known-bad UI decisions everywhere.

      I don't think it's the world's best UI, but I do find it better than Windows 7 and far better than 8. It has a lot of features for 'power' users and is so much more manageable than earlier versions in an enterprise.

      --
      The Daddy casts sleep on the Baby. The Baby resists!
    6. Re: Microsoft sounds so innovative by chispito · · Score: 1

      As an example, I challenge any normal user to find screen saver settings in windows 10 without using start/search. It is actually difficult to find.

      I think it was an intentional decision to de-emphasize screen savers, which really shouldn't be a thing anymore.

      --
      The Daddy casts sleep on the Baby. The Baby resists!
    7. Re: Microsoft sounds so innovative by LynnwoodRooster · · Score: 1

      Right-click the Windows Start button. Select settings. Select personalization. Select lock screen. Everything is accessible from there. Seems logical to me - settings -> personalization -> lock screen.

      --
      Browsing at +1 - no ACs, I ignore their posts. So refreshing!
    8. Re:Microsoft sounds so innovative by Anonymous+Brave+Guy · · Score: 2

      As far as I can see, Windows 10 Enterprise is a very different product to the Home/Pro editions. Windows 10 seems to have a few modest technical improvements under the hood, but the things that have stopped us moving to it are the usual objections to telemetry, forced updates, adware, etc. The Enterprise version seems to have useful controls over those, which isn't surprising since clearly no large corporate IT department is going to surrender control of their essential systems to Microsoft. It's just surprising that the Pro edition, which in previous versions has been aimed at smaller businesses, independent professionals and maybe power users, doesn't appear to be suitable for a lot of professional users in Windows 10.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    9. Re: Microsoft sounds so innovative by Hognoxious · · Score: 1

      So like MATE, LXDE and XFCE now? I swear things are progressing backwards.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  3. You forgot WebAssembly! by Gravis+Zero · · Score: 2

    Perhaps the most important change in 2017 was the deployment of WebAssembly. It's the most important because it's the final nail in the coffin for readable JavaScript. Already it's being exploited and wasting everyone's computing power to scrape up cryptopennies. JavaScript as we know it is now over and the age of exploitation is in motion.

    Congratulations everyone, JavaScript is now a complete noose around your neck just waiting to be pulled! ;)

    --
    Anons need not reply. Questions end with a question mark.
    1. Re:You forgot WebAssembly! by theweatherelectric · · Score: 1

      Already it's being exploited and wasting everyone's computing power to scrape up cryptopennies

      By default uBlock Origin includes a block list to protect against resource abusing scripts, such as coin mining scripts. And, if you think the default block list is not enough, you can add additional block lists to uBlock Origin like the NoCoin list. So protect yourself with uBlock Origin and browse happy.

    2. Re:You forgot WebAssembly! by Gravis+Zero · · Score: 1

      If you have to keep an updated list of locations to block then it means it's a successful tactic and is earning them revenue.

      See, my problem isn't with cryptomining scripts, it's with all scripts because any of them can be malicious.

      --
      Anons need not reply. Questions end with a question mark.
    3. Re:You forgot WebAssembly! by theweatherelectric · · Score: 1

      it's with all scripts because any of them can be malicious

      Then NoScript or uMatrix can help you. uBlock Origin's advanced mode is also very powerful if you want to stick with the one add-on (which is better for the sake of simplicity).

    4. Re:You forgot WebAssembly! by Gravis+Zero · · Score: 1

      You're missing the point, this about more than just advanced users.

      --
      Anons need not reply. Questions end with a question mark.
    5. Re:You forgot WebAssembly! by tepples · · Score: 1

      The problem is not only with JavaScript but also with WebAssembly. What they have in common is that a computer program chosen by the operator of a website that you are visiting executes on your computer before you have an opportunity to audit the program (or hire someone to do so). Operators can and habitually do collude to use this browser capability to run scripts that track users, exfiltrating information about each viewer's identity.

    6. Re:You forgot WebAssembly! by Thiez · · Score: 3, Insightful

      It's the most important because it's the final nail in the coffin for readable JavaScript.

      Clearly you haven't been reading minified JavaScript recently. JavaScript hasn't been readable for years, and the world didn't end.

      JavaScript as we know it is now over

      I'd love to hear how you "know it" today, because the JavaScript served by most websites might as well have been a big binary blob.

      Downthread you mention:

      You're missing the point, this about more than just advanced users.

      Surely that is a completely separate concern? Non-advanced users have never been able to read JavaScript. And when WebAssembly becomes more popular, the non-advanced users won't be able to read that, too. So from their perspective nothing changes.

    7. Re:You forgot WebAssembly! by Gravis+Zero · · Score: 1

      Clearly you haven't been reading minified JavaScript recently.

      That's a fair point but you can still read it with a bit of effort. I've done it.

      JavaScript hasn't been readable for years, and the world didn't end.

      it did for me. :P

      Surely that is a completely separate concern? Non-advanced users have never been able to read JavaScript. And when WebAssembly becomes more popular, the non-advanced users won't be able to read that, too. So from their perspective nothing changes.

      I'm speaking to the point that they will be exploited for their processing power by WebAssembly. It wasn't until recently that it became a real option.

      --
      Anons need not reply. Questions end with a question mark.
    8. Re:You forgot WebAssembly! by sfcat · · Score: 1

      Already it's being exploited and wasting everyone's computing power to scrape up cryptopennies

      By default uBlock Origin includes a block list to protect against resource abusing scripts, such as coin mining scripts. And, if you think the default block list is not enough, you can add additional block lists to uBlock Origin like the NoCoin list. So protect yourself with uBlock Origin and browse happy.

      Ah yes, because proxies don't exist in 2017...

      --
      "Those that start by burning books, will end by burning men."
    9. Re:You forgot WebAssembly! by Thiez · · Score: 2

      If you can minimized JavaScript I'm sure you can learn to read WebAssembly (with a bit of effort).

      I'm speaking to the point that they will be exploited for their processing power by WebAssembly. It wasn't until recently that it became a real option.

      If it's the processing power you fear, I'm sure it's trivial for browsers to slow down WebAssembly execution so it matches that of comparable JavaScript code. If cryptocoin mining through WebAssembly/JavaScript becomes so widespread that average users really start to suffer, I'm sure browser vendors will find some sort of solution. E.g. throttling scripts that originate from a different domain than the website you're currently visiting, or throttling all scripts by default and having a button that enables unthrottled execution, which can be toggled per domain or url. Or perhaps they'll take some inspiration from virus scanners and build scanners that detect cryptocoin mining code and refuse to run it (with an opt-out for the false positives?).

      WebAssembly will probably change some things about the web, but I don't think the future is as dark as you predict. Perhaps we'll go through a period where things will be a bit worse, but I fully expect the browser vendors to strike back when/if things get too bad: there is market share to be gained there.

    10. Re:You forgot WebAssembly! by Thiez · · Score: 1

      Since you feel so strongly about this subject, and you're posting on slashdot, I'm sure you (or someone you hired?) have audited the 29k lines of code at https://a.fsdn.com/sd/all.js which get loaded on this very page (well, actually https://a.fsdn.com/sd/all-minified.js gets loaded, but I'm dangerously assuming that the former is the original version of the latter). So did you find anything suspicious? When was the last time those files got updated?

      If you haven't actually inspected that JavaScript file, would you agree that your concerns are completely theoretical and that nobody is really going to bother to spend hours reading JavaScript for every new domain they visit (or spend thousands of dollars hiring a consultant to do so)? Given that the vast, vast, vast majority of people have come to like and expect the kind of behavior that scripts in the browser provide, wouldn't it be much more effective to do things such as lobby for user/browser tracking to be outlawed, inventing better tracking protection, etc.? Opposing scripts in the browser sounds like a technical solution to a social problem, which rarely work.

    11. Re:You forgot WebAssembly! by theweatherelectric · · Score: 1

      You haven't made any points. You've just complained, pointlessly.

  4. Re:Easier with typescript? Ha! by abies · · Score: 2

    How can something that only lives in a single browser make programners' lives easier?

    I'm not web developer, but from my limited experiments with TypeScript, it looked like it transpiles into something which was running under IE, Edge, Firefox and Chrome (tried only these). Are you saying that some more advanced features of TypeScript work only in Edge? Or only in IE?

  5. Q# is kinda cool by mapkinase · · Score: 1

    Gotta love it when language examples involve notations like |0

    --
    I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
    1. Re:Q# is kinda cool by cc1984_ · · Score: 1

      Gotta love it when language examples involve notations like |0

      Looks like your last character quantum teleported off somewhere. I suspect the notation is meant to be |0>

    2. Re:Q# is kinda cool by PolygamousRanchKid+ · · Score: 1

      I suspect the notation is meant to be |0>

      Programming with emoticons . . . and interesting concept . . . kinda sorta like APL, with its cockamamie characters.

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
  6. Re:Easier with typescript? Ha! by jb_nizet · · Score: 1

    Err, TypeScript is a compiler. It compiles to JavaScript. JavaScript runs in every browser.

  7. Re:Easier with typescript? Ha! by Memnos · · Score: 2

    Typescript transpiles to Javascript. Standard Javascript, in several target versions. The 90's called and they want their worldview back.

    --
    I don't trust atoms -- they make up stuff.
  8. cixl, not cx by basic.gongfu · · Score: 2

    The article seems to contain a typo; I'm sure he meant cixl, not cx. Take it from Eric Raymond, this is the future of programming: cixl - a minimal, decently typed scripting language https://github.com/basic-gongf...

    1. Re:cixl, not cx by HiThere · · Score: 1

      It looks moderately interesting, but I'm not interested in a language that doesn't allow concurrent execution, and I didn't notice anything about how you handle Unicode. (utf8 is fine, even utf32 internally, but forget about utf16...except where required by foreign function calls.)

      The "scan the stack backwards" might solve the problem that caused polish notation to be disliked, but the explanation needs to be clearer.

      Also, you need to do something to make the name more searchable (though it sure is an improvement over some language names). I kept getting a Canadian radio station, and I *never* search for radio stations.

      All that said, it looks interesting, but I currently need a language that's complete and workable. Good luck with your recruiting.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
  9. Re:Easier with typescript? Ha! by szabo.m.peter · · Score: 2

    Last time I checked, the generated JS looked quite good and readable. TS and JS are not too far, so the generated JS looks similar, and preserves the structure of the TS code. In case of an incompatible or nasty change, I can always go on with the output JS.

    Meanwhile, I get extra nice compile time type checks, and even opt in NULL checks. It is amazing how many bugs were caught by the TS compiler that would have been a hard to find runtime error...

  10. Re:It All Sucks by The+Evil+Atheist · · Score: 2

    One thing has remained constant and that is C++. No reshuffling of syntax, but introductions of new syntax when library solutions do not go far enough. No fear of losing backwards compatibility either.

    --
    Those who do not learn from commit history are doomed to regress it.
  11. Re:It All Sucks by sycodon · · Score: 1

    True, but it's still the equivalent of stick building a house with hammer and nails. They all are.

    The only thing that changes is the shape of the hammer and length of the nails.

    --
    When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
  12. Too Bad APK is a retard as is his work by Anonymous Coward · · Score: 1

    Too bad Alexander Peter Kowalski is a retard and his work sucks.
    It functions like a bad AV scanner that only recognized viruses based off of file names.
    It is always behind and and offers reactive security.
    It is easily circumvented as in a small child could figure out how to do so in a few minutes.
    Retard APK makes grandiose claims like hosts stops inbound connections.
    He also like to claim the Chines copied him.
    When called out on his BS he demands other repeatedly disprove his claims, which they do, and like a retard still declares he won.

  13. Re:It is all ALGOL to me... by LynnwoodRooster · · Score: 1

    Kids with your fancy hexadecimal counting system. In my day, we had only zero and one, because that's all a machine understood! And even then, we only had the ones when Mr. Westinghouse decided we could have a share of his electrons...

    --
    Browsing at +1 - no ACs, I ignore their posts. So refreshing!
  14. TypeScript by zifn4b · · Score: 1

    TypeScript was not the only JavaScript alternative making waves this year

    Straight from the wikipedia page:

    TypeScript is a free and open-source programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript

    I stopped reading after that because the author is not qualified to discuss the subject matter domain accurately. TypeScript has also been around at least since 2014 because I was using it back then.

    --
    We'll make great pets
  15. 2017, like 2016 by c10 · · Score: 1

    Worked on COBOL. Some new, some 1972.

  16. Re: Microsoft sounds so innovative after 2.5 yrs by dos1 · · Score: 1

    It's 2017, it's not hard not to use Windows anymore.

  17. C++ is becoming awesome by swillden · · Score: 1

    C++17 was mostly just an incremental improvement over C++14, which was an incremental improvement over C++11, and the most-anticipated feature -- Concepts -- didn't quite make it into 17. Still, the work of the committee is gradually evolving C++ into a much nicer language. Modern C++ code written according to the C++ core guidelines is simpler, clearer, safer, more maintainable -- and often more efficient.

    Unfortunately, all of the old language features that are no longer recommended are still present, so the language as a whole is also becoming bigger and more complex... but if you can manage to purge all the old-style C++ from your codebase, the result is a language subset that's getting progressively easier to learn. Well, mostly. Template metaprogramming is becoming simpler and easier, but that's encouraging more and more of it, and there are still several non-obvious idioms needed to do common things. C++17 eliminates the need for a few of these, Concepts (which should, finally, land in C++20) will eliminate a lot more.

    C++'s size and complexity mean that it must be used carefully. I often find myself asking people on my team to justify the clever metaprogramming constructs they create. Sure, it's cool to write a function that accepts an arbitrary number of arguments of any type, but if you only call it twice, and both times with the same number and type of args, why bother writing the complex templates that future programmers will have to laboriously parse? And if you call it many times with many different argument sets, you need to think about code bloat since the compiler has to generate another copy of the function for each argument set. So, a little discipline is essential.

    But, assuming you can apply the necessary discipline, modern C++ is in a class by itself. It allows tremendously simple, expressive code that is also near-maximally efficient and obviously safe, with all memory accesses bounds-checked, and no possibility of either dangling pointers or memory leaks.

    C++ is becoming awesome. I regularly spend time playing with competitors, such as Rust, and also often use dynamically-typed languages (e.g. Python, Java, C#). I've invested significant time into purely functional languages, notably Haskell. But for code that has to be efficient and precise, I keep coming back to C++ and it's getting better and better.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    1. Re:C++ is becoming awesome by iggymanz · · Score: 1

      C++ is becoming obscenely complex, and hence a pain to manage and a pain to find bugs and a pain to avoid creating more bugs when adding code

    2. Re:C++ is becoming awesome by HiThere · · Score: 1

      I would have said "unwieldy". But it already was unwieldy.

      It's probably true that if I invested sufficient time C++ would be a complete language. But even were I an expert it would take me a long time to program anything, because there are too many fiddly details.

      Let me modify that. C++ is certainly a complete language, but so is C and so is assembler. None of them make it easy to turn well defined ideas into code. I prefer C++ over C because of a very few choices made long ago, e.g. the inclusion of references. Most of the changes since that are not helpful. They don't add functionality, and they don't reduce the number of additional libraries that are needed.

      That said, I understand that they want to avoid breaking changes. But they need changes that require breaking things. This means they need to create a minimally different new language. Unfortunately, most such attempts fail. There are multiple different populations of users with different needs, and for one language to serve them all well is impossible. E.g., my use case would be served by a key-value database being built into the language. This can currently be handled by an attached library, but because the library isn't a part of the language, everything needs to be converted to strings before being saved and converted from strings while being restored. But there's no good method of conversion. (It's actually a simple problem in my case, but the general problem isn't soluble by a separate library.) I also need a kind of simplified Actor variation of concurrency. (I don't need the full Actor model.) This is all *doable*, but C++ sure doesn't make it easy, even though the ideas are well-defined.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    3. Re:C++ is becoming awesome by swillden · · Score: 1

      C++ is becoming obscenely complex, and hence a pain to manage and a pain to find bugs and a pain to avoid creating more bugs when adding code

      You clearly have not actually worked with modern C++.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    4. Re:C++ is becoming awesome by iggymanz · · Score: 1

      oh yes I most certainly have. the modern is worse than the old for making a maze

    5. Re:C++ is becoming awesome by david_thornley · · Score: 1

      I might not be an expert (depending on your definition), but I'm a competent C++ programmer. It doesn't take me a long time to program anything, partly because I know how to avoid dealing with the fiddly details. I find it fairly easy to convert ideas to code (depending on the ideas, anyway).

      C++ is far more expressive than C. Technically, anything you can do in C++ you can do in C, but in some cases you'll need painstaking attention to detail and lots of more or less opaque code.

      If you're looking at a key-value database, in what way does that differ from a map or hash table (unordered_map). If the key values can be ordered, a map should work. If you can come up with a hash function, unordered_map should work.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  18. Can still post to /. without JS by tepples · · Score: 1

    The difference is that one can participate in Slashdot with script* off. A lot of websites are structured in such a way as to block people from even viewing them without running script. Some of it is accidental, especially for rich web applications where progressive enhancement would prove impractical. (Anti-script hardliners would prefer that operators of such services make a native client application available to the public in source code form.) But lately, other dependencies on script are deliberate in an attempt to deny the text of an article to someone unwilling to download and view third-party advertising or mine cryptocurrency.

    * In this comment, "script" is any computer program delivered by a website and automatically run in a web browser, including without limitation JavaScript, ActionScript bytecode, JVM bytecode, CIL, and WebAssembly.

  19. Re:Easier with typescript? Ha! by terjeber · · Score: 1

    How can something that only lives in a single browser make programners' lives easier?

    How can someone who's been living in a single cave talk about something he's completely clueless about? Are you retarded due to self inflicted head wounds or were you dropped on your head as a baby?

  20. Re:Easier with typescript? Ha! by terjeber · · Score: 1

    Your ignorance is showing. Please move back to 1995 where your world view jives with reality.

    it comes from a tainted source "microsoft".

    It's open source you ignorant moron.

    typescript becomes popular they will intentionally break it for browsers other than their ... I would not be the least surprised if it purposely did not function for other browsers already.

    How would they accomplish this. Typescript compiles to Javascript, and the typescript compiler is open source. Were you born retarded or did it develop later in life.

    Back in the day when microsofts IE was dominant they ignored standards

    Living in a dark cage never getting out is not good for your health.

  21. great by KingBenny · · Score: 1

    10 types of javascript instead of one, just what the webz needed ....

    --
    Free speech was meant to be free for all... how can anyone grow up in a nanny state ?