Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 15 submissions in the queue.
posted by Fnord666 on Wednesday May 01 2019, @03:53PM   Printer-friendly
from the but-microsoft! dept.

Submitted via IRC for Antidisestablishment

Programming language Python's popular extension for Visual Studio Code revamped

While Python has become the go-to language for data scientists and machine-learning applications, VS Code – Microsoft's lightweight code editor that works on Windows, macOS, and Linux – has become somewhat of a hit with developers, even within Google.

In 2016, a year after Microsoft open-sourced VS Code it had 500,000 developers using it. By November 2017, VS Code had 2.6 million developers using it each month, representing year-on-year growth of 160 percent.

In December 2018, Microsoft chief marketing officer Chris Capossela told ZDNet's Mary Jo Foley and fellow Microsoft watcher Paul Thurrott that the "majority of Google developers are using it now".

The open-source Microsoft editor now has 4.5 million users and was ranked the most popular developer environment for two years running in Stack Overflow's global developer survey.

Meanwhile, Python has seen a huge and sustained rise in popularity among developers, who now ask more questions each month on Stack Overflow about it than JavaScript, which historically has attracted the most questions.

The updated Python extension fixes 84 issues and now includes a Variable Explore and a Data Viewer within the Python Interactive window. The new features were "highly requested" from users, according to Microsoft, and will allow developers and data scientists to view, inspect and filter variables in their apps.

So fellow Soylentils, has anyone tried this combination as a Python IDE and if so, what did you think?


Original Submission

This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
  • (Score: 4, Funny) by Bot on Wednesday May 01 2019, @03:56PM

    by Bot (3902) on Wednesday May 01 2019, @03:56PM (#837326) Journal

    >While Python has become the go-to language
    I see what you did there

    --
    Account abandoned.
  • (Score: 0, Troll) by sshelton76 on Wednesday May 01 2019, @04:03PM (15 children)

    by sshelton76 (7978) on Wednesday May 01 2019, @04:03PM (#837335)

    It absolutely blows my mind that Python has become the new JS (piece of crap to work with, lots of unexpected behaviors and side effects etc)
    Meanwhile JS has morphed into a really good language if you need to do cross platform work.

    Golang is still my GOTO language for most things though, as long as user interaction is limited to the command line. Can't beat it for speed, flexibility and security.

    • (Score: 2) by PiMuNu on Wednesday May 01 2019, @04:22PM (9 children)

      by PiMuNu (3823) on Wednesday May 01 2019, @04:22PM (#837347)

      > lots of unexpected behaviors and side effects etc

      Like what?

      • (Score: 2, Funny) by c0lo on Wednesday May 01 2019, @05:55PM (1 child)

        by c0lo (156) Subscriber Badge on Wednesday May 01 2019, @05:55PM (#837435) Journal

        Like wearing out the TAB key twice as fast than for other languages (grin)

        --
        https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
        • (Score: 3, Informative) by DannyB on Wednesday May 01 2019, @06:13PM

          by DannyB (5839) Subscriber Badge on Wednesday May 01 2019, @06:13PM (#837449) Journal

          I can't speak for Python, but doesn't just about any text editor, let alone IDE auto indent the next line at the same level as this line. Thus you only hit one extra tab to begin a new intent level, or one backspace to back out an indent level.

          Don't some Python programmers insist on using two spaces and no tabs?

          --
          What doesn't kill me makes me weaker for next time.
      • (Score: 2) by ikanreed on Wednesday May 01 2019, @06:00PM (3 children)

        by ikanreed (3164) Subscriber Badge on Wednesday May 01 2019, @06:00PM (#837440) Journal

        He expects his code to not suck ass, but then it does for some reason. Must be the compiler's fault.

        • (Score: 0) by Anonymous Coward on Thursday May 02 2019, @12:40AM (2 children)

          by Anonymous Coward on Thursday May 02 2019, @12:40AM (#837615)

          > Must be the compiler's fault.

          ??? Python is interpreted! (or was that part of your implied /sarc?)

          • (Score: 2) by DannyB on Thursday May 02 2019, @02:22PM

            by DannyB (5839) Subscriber Badge on Thursday May 02 2019, @02:22PM (#837874) Journal

            It is a matter of time. All code will be compiled even if it gives the appearance of being interpreted.

            We simply have so much abundance of memory, cpu and compiler technology that it is inevitable.

            --
            What doesn't kill me makes me weaker for next time.
          • (Score: 2) by ikanreed on Thursday May 02 2019, @03:07PM

            by ikanreed (3164) Subscriber Badge on Thursday May 02 2019, @03:07PM (#837908) Journal

            "Blaming the compiler" is just a cliche bad programmer thing to do.

      • (Score: 1) by sshelton76 on Thursday May 02 2019, @11:28AM (2 children)

        by sshelton76 (7978) on Thursday May 02 2019, @11:28AM (#837798)

        Well just try running a python script in an environment it wasn't written on, such as going from 2.x to 3.x or missing some dep that was declared somewhere deep, deep down the rabbit hole and is now deprecated and/or gone.

        Furthermore Python code is just hard to wrangle unless you're working with python every single day and have become accustomed to the quirks. Whoever decided that whitespace should be code needs to be hung by their toenails until the blood returns to their brain.

        I started my professional career in C where I mostly was focused on taking existing single threaded apps and making them scale.
        I have skills in Perl, PHP and Java. I've used Python, but I try to avoid it if I can. I have seen the language go downhill from feature bloat. I would still rather maintain a poorly written python app than a well written Perl app, but maybe that's just me.

        JS has improved to the point where it's a reasonably competent language for many, many things especially if you need a quick and dirty UI. While you CAN import the entirety of npm and webpackify all of github, the fact is you don't have to in most cases.

        What I like most about JS is that over the years they have taken the concerns of users into account. Compare the situation we have now with async/await vs callbacks or promises and you can see that there have been major improvements this past decade. Furthermore performance improvements under the hood mean that code written a decade ago still runs and in many cases runs much faster than it did back in the day. Example JQuery. Try running a 10 year old python app and see how that goes for you.

        I still wouldn't use JS on the backend. Maybe it's just me, I've done my share of nodejs servers and have found golang to be superior in every way.

        • (Score: 2) by PiMuNu on Thursday May 02 2019, @12:27PM (1 child)

          by PiMuNu (3823) on Thursday May 02 2019, @12:27PM (#837815)

          Thanks for the reply. It's interesting.

          > Well just try running a python script in an environment it wasn't written on

          I don't wrangle pure C so much and I never touched javascript but ever tried compiling with latest g++? Good luck.

          > missing some dep that was declared somewhere deep, deep down the rabbit hole

          How is this not a problem in any language? Dependencies are, well, dependencies. At least in python you get a reasonable import error. What about C - ever tried debugging linker errors? Good luck!

          ==

          I note that JS misses ability to interface neatly with C code, which is a "killer app" for me:

          https://stackoverflow.com/questions/14973224/javascript-communicate-with-c [stackoverflow.com]

          I do scientific computing stuff; the ability to build a fast underlying library and then make a scriptable interface is super-powerful. In javascript I guess you need to interface via a web service or something?

          • (Score: 0) by sshelton76 on Thursday May 02 2019, @12:45PM

            by sshelton76 (7978) on Thursday May 02 2019, @12:45PM (#837822)

            No, I wouldn't use a hammer to drive in a screw.

            You want a fast, powerful, easy to use language intended for scripting your C app, use Lua.
            https://www.lua.org/ [lua.org]
            https://www.lua.org/pil/24.html [lua.org]

            It blows python away in every use case I've ever seen.
            Unless you specifically NEED something python only like numpy, there really isn't a good reason to use python at all for new projects.

    • (Score: 2) by mhajicek on Wednesday May 01 2019, @05:17PM

      by mhajicek (51) on Wednesday May 01 2019, @05:17PM (#837390)

      I program in FANUC MACRO B.

      --
      The spacelike surfaces of time foliations can have a cusp at the surface of discontinuity. - P. Hajicek
    • (Score: 2) by RamiK on Wednesday May 01 2019, @07:11PM (3 children)

      by RamiK (1813) on Wednesday May 01 2019, @07:11PM (#837481)

      It absolutely blows my mind that Python has become the new JS (piece of crap to work with, lots of unexpected behaviors and side effects etc)
      Meanwhile JS has morphed into a really good language if you need to do cross platform work.

      I don't know about JS getting good since whenever I try getting into it I get a sudden urge to gauge my eyes but python definitely got worse over the years due to the feature bloat.

      Golang is still my GOTO language for most things though

      I have to agree. Golang is just very easy to get back into when editing old code / writing new stuff / gluing. Every other language I used over the years lost itself to layers of dependencies and abstractions regardless of how good its foundations were. Hopefully it won't happen with Go2.

      --
      compiling...
      • (Score: 1) by sshelton76 on Thursday May 02 2019, @01:22PM (2 children)

        by sshelton76 (7978) on Thursday May 02 2019, @01:22PM (#837840)

        Well if you look at barebones vanilla JS from years ago and compare it to modern versions, it is much easier to work with.
        Classes, async/await, big arrow functions, proper variable scoping with let, a proper foreach style construction that you can break out of.
        There's been a lot of improvements that just make the JS of today a lot easier to work with than the JS of yore.

        I'm not saying it's the best language ever. I'm just saying it amazes me that it has gotten so much better over the years while python appears to be getting objectively worse.

        The performance of python has taken a dip. There seems to compatibility issues every time I try to rely on someone else's python script to do anything and don't get me started on the mess that became of stackless. https://en.wikipedia.org/wiki/Stackless_Python [wikipedia.org]

        I'm sure there are people who will disagree with me. I also am very aware that there are a lot of system level apps written in it, and appearantly netflix swears by it too...
        https://www.zdnet.com/article/netflix-python-programming-language-is-behind-every-film-you-stream/ [zdnet.com]

        However, from my perspective I have yet to find a use case where Python is the hands down best choice for the job. There seem to always be better, more performant options and the only reason I would use Python at work is if I had a lot of programmers who were proficient with Python and couldn't adapt to better tech easily. Which is what I think Netflix is actually saying in the article I linked.

        • (Score: 2) by RamiK on Thursday May 02 2019, @03:43PM (1 child)

          by RamiK (1813) on Thursday May 02 2019, @03:43PM (#837923)

          Classes, async/await, big arrow functions, proper variable scoping with let, a proper foreach style construction that you can break out of.

          You're right contemporary JS compares favorably to its previous self when considering those. But even to python new and old, it's really awful due to the ad-hoc nature of how those features and new syntax were added on as the language grow.

          However, from my perspective I have yet to find a use case where Python is the hands down best choice for the job.

          I think python's charm was that it was a good enough solution for almost everything right about until it started accumulating more and more features and paradigms. Now you have a language that takes twice as long to learn and use and different fields use different feature-sets like in C++ (only not nearly as bad). So, you can never just start doing what you want to do and instead have to effectively learn frameworks and relearn language features since they only come up in limited use cases.

          That is, it was never the best use case for anything. But it was time efficient and easy to prototype in. Now it's got quite cumbersome.

          Best analogy is Swiss Army knives: The simple ones are good to have around for odd jobs. They're rarely compare favorably to dedicated tools. But when you need to unscrew something or what not they're there in your wallet/pocket. But those new huge combo knives are horrible! The grip is uncomfortable for almost all the tools. They're too heavy and bulky to keep in a pocket even if you're wearing cargo pants. The individual tools are just too small and fragile... A mess. Of course, in this context JS would be those tiny sporks that you have to grab the knife end to use the fork and modern JS would be someone adding in a foldable third T junction for you right down the middle of the spork so now you can grab that instead but the join is shit so it keeps loosening up and spilling soup all over you... Go btw, would be one of those brand tool sets that has almost everything you need except the odd specialist tool. And I guess for completeness C is a lathe letting you build whichever horror you'd like while C++ is a cheap bench drill converted into a CNC mill that could on paper do anything but generally ends up broken.

          --
          compiling...
          • (Score: 1) by sshelton76 on Thursday May 02 2019, @03:52PM

            by sshelton76 (7978) on Thursday May 02 2019, @03:52PM (#837931)

            Excellent reply and your assessment of C++ matches my own.
            C makes it easy to shoot yourself in the foot.
            C++ loads the gun and pulls the trigger for you.

  • (Score: 1, Insightful) by Anonymous Coward on Wednesday May 01 2019, @04:35PM (6 children)

    by Anonymous Coward on Wednesday May 01 2019, @04:35PM (#837352)

    "The open-source Microsoft editor now has 4.5 million users and was ranked the most popular developer environment for two years running in Stack Overflow's global developer survey."

    just a disgusting reminder that a disturbing number of developers have no self respect or integrity. or maybe they're just fucking dumb.

    • (Score: 1, Touché) by Anonymous Coward on Wednesday May 01 2019, @04:42PM

      by Anonymous Coward on Wednesday May 01 2019, @04:42PM (#837355)

      fucking dumb

      They're probably Facebook users, so the technical term I believe is dumb fucks.

    • (Score: 3, Interesting) by DannyB on Wednesday May 01 2019, @06:19PM (4 children)

      by DannyB (5839) Subscriber Badge on Wednesday May 01 2019, @06:19PM (#837454) Journal

      or maybe they're just fucking dumb.

      I hear good things about Visual Studio Code. Open source. Cross platform.

      But I just don't trust Microsoft. And there are good alternatives.

      a disturbing number of developers have no self respect

      When I hear they use Visual Studio Code, my level of respect for them declines a slight bit. Do they just not know better? I suddenly have a slight bit of distrust. A knee jerk reaction created by decades of Microsoft behavior.

      --
      What doesn't kill me makes me weaker for next time.
      • (Score: 1, Insightful) by Anonymous Coward on Wednesday May 01 2019, @07:00PM (3 children)

        by Anonymous Coward on Wednesday May 01 2019, @07:00PM (#837477)

        When I hear they use Visual Studio Code, my level of respect for them declines a slight bit. Do they just not know better? I suddenly have a slight bit of distrust. A knee jerk reaction created by decades of Microsoft behavior.

        When I see statements like this here or on "that other site", I don't lose respect for the people that write them, but I do put them in the "ideologically bent" category. I used MS's IDEs for years when I developed professionally. I could have used vi, gdb, and the other *NIX tools if I had to, but my productivity would have taken a major hit. In the unlikely event that MS was somehow able to yank that tool away from me without any warning, I would have been bombed back to the stone-age. The real enemy for us is not so much MS, or Apple, or any company, but "change imposed from without". Open Source is not immune. See, systemd, or the patron of your favorite distro stops supporting it and quality declines. Change from without. A new order, not to your liking, imposed by others. That's the real enemy.

        MS-bashing? I think it's a bit strong to say I "lose respect" for people that do it. I couldn't, because it's so prevalent in the community so I'd have no respect for anybody. But I do tend to think of such people as being kind of basic.

        • (Score: 2) by fyngyrz on Wednesday May 01 2019, @08:35PM

          by fyngyrz (6567) on Wednesday May 01 2019, @08:35PM (#837529) Journal

          A new order, not to your liking, imposed by others. That's the real enemy.

          I'd describe it as "toxic, erosive change without a need for change, but for change's sake only." OS X / MacOS, Linux, Windows... and many, many applications including core languages and IDEs.

          As a Python dev, Python 3's approach to change WRT Python 2 is a perfect example of "how to really screw this evolution up by breaking existing stuff for no good reason at all, plus, let's not provide any fallbacks, because just fucking existing code up wasn't good enough."

          Qt is also high in the hall of shame here. The transition from QT4 to QT5 was one of the most clueless, inherently broken, and amateur bits of fucktardedness I have ever had the misfortune to endure.

          --
          Cashier: "Did you find everything?"
               Me: "Why, are you hiding stuff?"

        • (Score: 0) by Anonymous Coward on Wednesday May 01 2019, @09:02PM (1 child)

          by Anonymous Coward on Wednesday May 01 2019, @09:02PM (#837543)

          I don't agree with the "ideologically bent" categorization, at least not for those of a certain age. If one is old enough to have been very active in computers in the 90s and 2000s, then one could be forgiven for harboring very negative views of Microsoft for many many reasons that do not need to be rehashed. If one was continuously screwed either directly or indirectly by them, and remember they were not indifferent but rather extremely hostile to the entire industry, just because they are not perceived to be as bad now doesn't make up for the decades of bad behavior they inflicted. If someone goes to their 20th high school reunion and meets up with the bully who inflicted lots of emotional and/or physical abuse on one, but finds them now to be pretty much a "normal" person, I don't consider them to be driven by any philosophy (other than self-preservation) if they do not harbor warm feelings towards the person now; this is simply once-bitten, twice-shy.

          • (Score: 1, Interesting) by Anonymous Coward on Wednesday May 01 2019, @09:48PM

            by Anonymous Coward on Wednesday May 01 2019, @09:48PM (#837555)

            Ya, I'm the AC you're replying to, and I was working during most of the 90s. The funny thing to me is that the vast majority of those people never had anything happen to them as a direct result of MS that wasn't just about the same from any other source.

            If anything, MS is *worse* now, but not because of their own ideology. They're worse because they picked up bad habits from Google and Facebook. Windows 10 is trying to monetize you and spy on you every single day. Prior versions of Windows only monetized you for the license. Once you paid that, you were done being monetized and if you got spied on it was usually your own fault.

            I miss those old days--when MS got bashed for copying everything good. Now they don't get bashed nearly enough for copying everything *bad*.

  • (Score: 5, Interesting) by goodie on Wednesday May 01 2019, @05:09PM (4 children)

    by goodie (1877) on Wednesday May 01 2019, @05:09PM (#837383) Journal

    Mind you, it was not for anything for production, just pet projects and research work.

    Anyway, as useful as python can be, its huge drawback is the lack of proper IDE for it. Spyder, which ships with the Conda distributions, is VERY basic and offers little that we expect from modern IDEs (read no source control integration... nada). pyDev, the Eclipse plugin, is better and offers the functionality we typically find in Eclipse (Git integration etc.) but the install is not that straightforward and Eclipse remains, to me at least, a sluggish thing. This is not helped by the fact that python is interpreted.

    Then I tried the Visual Studio Code extension about 2 months ago. That did not go well. Basically, it was very barebones and the code insight and intellisense features were not impressive. My other problem that I wanted to be able to integrate with Jupyter Notebooks, which was crap.

    So now my coding in python is either done in the Notebook interface, i.e., a browser. I use that for teaching, and so far developing material with it has worked great. When I need to code longer scripts where the Notebook does not fit the use case, I use Spyder. But I cringe on a regular basis... Also tried Atom, it was slow as f$ck. So sometimes I also use Notepad++ when the kernel crashes in Spyder annoy me too much.

    I had also tried the free version of pycharm which proved much better but I had to drop it because the licence would not fit with my use case. But it was the best in terms of functionality.

    So anyway, that's my experience using Python for minor dev. stuff. Honestly, when I look back, my most productive IDE remains the Borland Delphi IDE (prior to the fiasco after it was bought in the late 2000s). Came with bookmarks, incremental/full compile, meaningful macros/shortcuts etc. Sometimes I miss those days, especially when I get to read jQuery code...

    • (Score: 2) by Farkus888 on Wednesday May 01 2019, @07:50PM

      by Farkus888 (5159) on Wednesday May 01 2019, @07:50PM (#837503)

      I prefer Ninja for python. I am a self taught hack just trying to make my real job a little easier though. A competent pro may want some feature I never thought to look for.

    • (Score: 2) by Freeman on Wednesday May 01 2019, @08:09PM

      by Freeman (732) on Wednesday May 01 2019, @08:09PM (#837515) Journal

      I've been coding using PyCharm and have been quite pleased. There's a Professional edition and a Free Community edition. I've not needed the Professional features.

      --
      Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
    • (Score: 1, Informative) by Anonymous Coward on Wednesday May 01 2019, @08:50PM

      by Anonymous Coward on Wednesday May 01 2019, @08:50PM (#837534)

      Part of the problem is that there are two totally different but similarly named IDEs and their Python support. There is Visual Studio, which has their Python Tools for Visual Studio (PTVS), and there is Visual Studio Code, which has Python Extension for Visual Studio Code (PEVSC or PVSC). While similar in features, they do not overlap and the similar names don't help either. In addition, the IntelliSense is not identical and PEVSC is limited if you don't properly configure your Python interpreter environment or have incorrect Jedi files when PLS is disabled (which is the default).

    • (Score: 0) by Anonymous Coward on Thursday May 02 2019, @12:52AM

      by Anonymous Coward on Thursday May 02 2019, @12:52AM (#837616)

      Barring religious objections(grin), this looks like it might meet your requirements?
          https://realpython.com/emacs-the-best-python-editor/ [realpython.com]

      I'm not much of a programmer, but I learned emacs back before word processors were common, always had a soft spot for it. Still use a flavor of emacs to open files of suspicious origin.

  • (Score: 2, Touché) by Anonymous Coward on Wednesday May 01 2019, @05:11PM (3 children)

    by Anonymous Coward on Wednesday May 01 2019, @05:11PM (#837387)

    VS Code had 2.6 million developers using it each month

    So 2.6 million developers too busy to modify the source and remove the tracking / usage reporting ...

    • (Score: 1) by bmimatt on Wednesday May 01 2019, @05:51PM

      by bmimatt (5050) on Wednesday May 01 2019, @05:51PM (#837432)

      I am not a fan of corporate data gorging and I sometimes use Code*.
      I have never used and do not plan to use the full-blown VS from Microsoft, so can't really compare the two on IDE level, but...
      Just last week I wrote a relatively small Python module in Code and the experience was decent.
      Nothing to wrote home about, but I would not classify it as bad text editor.
      Because that's what it is to me - a text editor.

      * I generally block outgoing calls to motherships with Little Snitch, I do so with Code as well.

    • (Score: 4, Insightful) by RamiK on Wednesday May 01 2019, @06:33PM

      by RamiK (1813) on Wednesday May 01 2019, @06:33PM (#837464)

      developers too busy to modify the source and remove the tracking / usage reporting ...

      1. They're corporate coders and don't give a fuck about yet another party tracking their workstation along their employers.
      2. Many of them don't know how to do it or where to look since it's a big code base mixing different languages they don't know.
      3. They're mostly young enough to have been brought up on smartphones and tablets and were accustomed to being spied on 24/7.

      --
      compiling...
    • (Score: 0) by Anonymous Coward on Thursday May 02 2019, @06:09AM

      by Anonymous Coward on Thursday May 02 2019, @06:09AM (#837689)

      There is a fork called Codium which has all telemetry stuff ripped out, though you cannot debug C# applications using it because Microsoft.

  • (Score: 1, Insightful) by Anonymous Coward on Wednesday May 01 2019, @10:32PM

    by Anonymous Coward on Wednesday May 01 2019, @10:32PM (#837571)

    Expect the 'extend phase' soon.

  • (Score: 2) by Subsentient on Thursday May 02 2019, @06:33AM

    by Subsentient (1111) on Thursday May 02 2019, @06:33AM (#837693) Homepage Journal

    I hate JavaScript with the fiery passion of a blue supergiant star. It's a terrible language. Node.JS is a fermented jar of hobo shit. At work, we're using it for some stuff, it's trying to install 6,000+ modules for a basic Electron GUI. JavaScript is a hideous language, too. Ironic that Python's type system is stricter. TypeScript is whipped cream on your grandpa's throbbing, infected asshole.

    Python, for all its flaws, is decent.
    Let's face it. It's decent. It's easy. The ecosystem is terrific. The syntax is -- mostly -- pretty clean. The addition of the walrus operator in 3.8 will help with a lot of the remaining ugliness. As controversial as it is, I strongly encourage everyone to use it as soon as 3.8 is an acceptable bare minimum for them, which for me, will be as soon as it hits Fedora's repos.

    It's not fast -- but if you need fast, you should be writing it in C or C++ anyways, and I would very strongly encourage you to do so.

    As for Visual Studio and Microsoft, they can die in a fire.

    --
    "It is no measure of health to be well adjusted to a profoundly sick society." -Jiddu Krishnamurti
  • (Score: 0) by Anonymous Coward on Thursday May 02 2019, @10:51PM

    by Anonymous Coward on Thursday May 02 2019, @10:51PM (#838169)
(1)