Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Programming Facebook Microsoft

Facebook Teams With Microsoft On Visual Studio Code's Remote Extensions (facebook.com) 38

A new Facebook blog post explains the company doesn't mandate one development environment internally. "Some developers use vim. Some use Emacs. And even more engineers use our internal, unified development environment called Nuclide," which originally was a set of open-source packages built on top of the Atom editor.

But in late 2018, Facebook "announced to our engineers" that the company was moving to Microsoft's Visual Studio Code, a free and open source editor released under the permissive MIT License that runs on macOS, Windows, and Linux. And the Facebook for Developers blog reports that they're now actually helping Microsoft build the IDE: While engineers at Facebook have Visual Studio Code installed locally on laptops, most development is done directly on individually-reserved development servers that live within our data centers. Being able to access code on these servers in a seamless, performant way is critical for productivity.

As Microsoft's Visual Studio Code team stated when they first released the remote extensions, remote development is an emerging trend... [W]e at Facebook believe that we can apply our unique expertise in this problem space to help. That's why today we are excited to share not just our usage of their remote development extensions, but our involvement in helping Microsoft further improve remote development extensions, with a lens on enabling engineers to do remote development at scale with Visual Studio Code...

Microsoft has now created such a robust remoting experience, it has allowed us to move off our own custom solution... Visual Studio Code is now an established part of Facebook's development future. In teaming with Microsoft, we're looking forward to being part of the community that helps Visual Studio Code continue to be a world class development tool.

This discussion has been archived. No new comments can be posted.

Facebook Teams With Microsoft On Visual Studio Code's Remote Extensions

Comments Filter:
  • ... two major data-harvesting companies team up to extend a development environment. How can this not end badly? :)
  • Let me guess ... just like that first sample of Microsoft crack always is.

    Until you find out the nasty secret.

    They are a for-profit company, after all. One of the most profitable, even.
    So if they pretend it has no strings attached, it's naturally even worse than something where they could admit what they are doing.
    The alternative is, that their shareholders are soon gonna complain, and the strings will be attached after people are hooked and they got leverage. IE style.

    But maybe the MS leech from hell latch

    • MIT license. More open than GNU.
      • by Zero__Kelvin ( 151819 ) on Saturday November 23, 2019 @12:06PM (#59446102) Homepage

        "MIT license. More open than GNU."

        You mean of course less open. They have no requirement to share the code, can share code that differs from what is used, and can even sell the binaries without releasing the source. The MIT license is only less restrictive if the licensing entity decides to make it that way. I'm sure Facebook and Microsoft would never do anything shady though, so no worries.

        • Re: (Score:3, Insightful)

          by OzPeter ( 195038 )

          "MIT license. More open than GNU."

          You mean of course less open. They have no requirement to share the code, can share code that differs from what is used, and can even sell the binaries without releasing the source. The MIT license is only less restrictive if the licensing entity decides to make it that way. I'm sure Facebook and Microsoft would never do anything shady though, so no worries.

          I think in your definition of free and open you are conflating the code that is released under an MIT license with the code that uses that code (and or changes it).

          and your comment about shady practices is specious at best. Shady practices can be performed regardless of the original source of the code and regardless of how it is distributed.

          • Re: (Score:2, Troll)

            "I think"

            You are hereby prohibited from using that phrase until further notice; don't hold you breath for approval.

          • I think in your definition of free and open you are conflating the code that is released under an MIT license with the code that uses that code (and or changes it).

            Thats exactly what the GNU zealots are doing. They call it free and open but then retain ownership and control.

    • by jaklode ( 3930925 ) on Saturday November 23, 2019 @02:05PM (#59446384)
      Just to be clear: Visual Studio Code is not MIT licensed, not open-source, it is proprietary:

      https://code.visualstudio.com/... [visualstudio.com]

      What is free is vscode. Visual Studio Code's relation to vscode is similar to that of Chrome to Chromium: Branding and some features.

      https://github.com/microsoft/v... [github.com].

  • by Zero__Kelvin ( 151819 ) on Saturday November 23, 2019 @11:07AM (#59445984) Homepage

    "While engineers at Facebook have Visual Studio Code installed locally on laptops, most development is done directly on individually-reserved development servers that live within our data centers. Being able to access code on these servers in a seamless, performant way is critical for productivity."

    So there is no mandated dev environment, but their solution is to make changes to a single dev environment when the solution to this problem is extremely simple and has already been around for decades and works for all dev environments? That's fucking brilliant.

    • by vidnet ( 580068 )

      A network mount is not a good solution for working with massive server software in a monorepo.

      You end up downloading a hundred gigabytes of source material across millions of files, with the associated latency of on-demand access, just to build and run on laptop hardware.

      • " just to build and run on laptop hardware."

        First of all they are not building and running anything. It is interpreted server side code and front end code that gets loaded by the target browser at runtime. Second if it was code that gets built they would build on the server. You simply have no idea how software development works, so stop pretending that you do, thanks.

        • Sounds like you are describing scripting. A dead giveaway when words like "interpreting" are used.

          While scripting may look like code and/or coding, there are more than enough differences between scripting and coding.

          And if you don't know these differences, you yourself might not know as much about the subject matter as you pretend to do in your post.

          As I am familiar with these differences, it is clear to say that I am a scripter and you won't see me ever pretend to be a coder.

          Good scripters can be just as u

          • Yeah, but they can both be described as "code." This is a convention that's been in place since forever.
          • "Sounds like you are describing scripting. A dead giveaway when words like "interpreting" are used. ... As I am familiar with these differences, it is clear to say that I am a scripter and you won't see me ever pretend to be a coder."

            You have literally no idea what you are talking about and should definitely not be trying to sound like you have a clue. You simply make yourself look like an idiot. The biggest language Facebook uses is PHP, so much so that they have developed first HipHip and now HHVM [facebook.com]. PHP is

        • by vidnet ( 580068 )

          First of all they are not building and running anything. It is interpreted server side code and front end code that gets loaded by the target browser at runtime.

          It's been a while since Facebook ran on simple PHP files and static JavaScript.

          if it was code that gets built they would build on the server

          Yes, this is what they're describing in the article.

          You simply have no idea how software development work

          I'm not disputing that, but I do work for Facebook, and (anecdotally) I find that my beefy dev server help

          • I'm well aware of HipHop and HHVM. I have built HipHop from the source just for fun. HHVM does JIT compiles, which means it isn't compiled in advance. HHVM interprets the PHP first and compiles certain entities at runtime, but the improved code checking, error reporting, and optimized runtime is far more important. In the end it is still an interpreted paradigm with a JIT compile, ala Python, and there is no edit - compile - build - release cycle.

            Javascript runs on the client in a browser so it is interpr
    • It's not network mounts. Each engineer gets a rack-mounted workstations in a dc. Mine was in Prineville, OR. Some engineers use nuclide and mount the files remotely. I personally would just mosh in and run vim in screen. Anyway, on their workstation, each engineer has a copy of the entire fb codebase locally in git. Syncing and rebuilding was slow and painful. Latency was never a problem.

      For what it's worth, since I left Facebook and now work at Google, I far prefer citc. Here, our workstations are local, u

      • You seem to have missed my point, which is that there are smart ways to do this and then there is the way Microsoft and Facebook are trying to solve the already well understood and solved problem. Remote development is not a new problem. The Linux kernel has been developed by 100% remote development since day 1. I only mentioned network mounts in passing in the title as it can be one part of a comprehensive solution.
  • by lophophore ( 4087 ) on Saturday November 23, 2019 @11:24AM (#59446016) Homepage

    We're from Facebook and we're here to help.

    Bah.

  • Being able to access code on these servers in a seamless, performant way is critical for productivity.

    Uhm, no; this is the way to bypass all sane SDLC processes and end up with all servers having different hack job bits of code changes all over the environment with inconsistent changes that never make it into revision control and break constantly when any attempt is made to redeploy.

    We have better ways to solve these problems now, CI/CD tools and containers to name two. This is just enabling creation of a huge mess.

    • These are remote dev hosts, not production servers. The laptop is little more than a terminal client and editor into the real dev environment. FB is evil. They are not stupid.
    • No, this is about having dedicated high end systems for development, that developers can remote into. This spares you having to clone the repo to everyone's machine, plus save the cost of issuing a high powered workstation to every developer. Instead just give them a laptop that's decent, and let all the dev code, including syntax checkers, building dockers, compiling the project, etc, happen on the dev server, which also will have better bandwidth for deploying to tools. Makes remote work REALLY nice, beca
  • Why did I read this as remote code execution? Maybe a message from the future.
  • > Some developers use vim. Some use Emacs. And even more engineers use our internal, unified development environment called Nuclide

    Talk about shitty management.

    * Let's force everyone to the lowest common denominator.

    Yeah, that will build "trust" between management and workers.

    Did management ever stop and LISTEN to WHY people are using the tools they do??

    I use both Vim and MSVC. They have *different strengths*. One definition of a cult is: "Someone who believes their way is the ONLY way."

    • A million environments comes with the potential for a million problems, especially if you're managing IT, especially if you're managing IT at a company that size. I've been forced to work on not-my-first-choice environments, and in the end the loss in productivity as I learned the new software was offset by the benefit of all of us working in the same tools. I've also managed IT where everyone was working in different software and the loss in productivity while I fixed the same problem ten different ways fo
  • Isn't Faceboot's marquee site pretty much always at least a little broken?

  • What I'd like Visual Studio Code to do is implement some wicked smart, syntax aware, selection mode. You press Esc, that puts you in the selection mode and then you navigate with letter keys, vim style. Press some key, you select the current subexpression under the cursor (say 2), press another key to expand the selection and go from 2 to 2+x, another press and you have selected (2+x)*y. Another key would select the current scope, press a key you go one scope up.

    It's somewhat similar to what they did with

    • Have you tried IntelliJ or any of its family? It has an extend/shrink selection that works pretty close to what you describe, and is most convenient.

  • I'm unsure here who is doing the Embracing, who is doing the Extending, and who hopes to Extinguish whom.

  • Started using VS Code at my last job and fell in love with it for web dev. The icing on the cake is Liveshare, which turns it into Google docs for code. Took merge conflicts out of our lives altogether. Works on Nix, OSX, and Win, and has a pretty handy UI. Got me to switch off Notepad++ for most development, which I didn't think would ever happen.

No spitting on the Bus! Thank you, The Mgt.

Working...