News for hackers. Stuff that matters.
Re:The new Microsoft Edge is out of preview by gamblor956 on Wednesday January 15, 2020 @03:52PM (#22058402)
Microsoft has always been developer-first, even when they didn't need them, and even during the Ballmer era.

Google has never been about the developer experience, and is quite hostile to developers even when they need them. (See, e.g., Stadia.)

Re:The new Microsoft Edge is out of preview by Asooka on Wednesday January 15, 2020 @04:41PM (#22059016)
One difference that stands out to me about Microsoft vs Google. Both are very heavy C++ shops. Both have invested in developing tools for enhancing developer productivity on their respective platforms (Windows and Linux). Yes, Linux is not a Google product (thank god) but it is what they build on.

Microsoft's C++ IDE and debugger are the gold standard for productivity and ease of use - everyone who writes native applications for Windows uses Visual Studio. You can try it out for free and the price per developer is very reasonable if you want to publish a paid product.

Google's C++ IDE and debugger are nonexistent. Whatever they've built is kept inside the Googleplex never to see the light of day. From time to time we see the occasional free software reimplementation of some facet of the beast (e.g. Kythe) but I haven't seen something catch on.

In fact, the biggest contributors to developer productivity on Linux have been Microsoft (with Visual Studio Code and the lsp protocol) and Apple (investing in clang led to the development of advanced C++ indexers which were impossible to write using gcc due to Stallman making a conscious decision to not allow it)

Of course there is a good reason for this - Microsoft and Apple make platforms. The easier they make software development, the more developers they get, which leads to more software being written, which leads to more users, which results in profit. Google on the other hand doesn't win by making development easy for others. They're themselves a third party and other developers are competition rather than partners. For Microsoft, the existence of developers outside the company using Microsoft's development tools to create software for Microsoft's platform is a win. For Google, the best case scenario is there being no developers outside Google.

Re:The new Microsoft Edge is out of preview by Nullabillity on Wednesday January 15, 2020 @05:44PM (#22059646)
Have you actually tried to use Visual Studio? It's an unusable piece of crap.

The navigation is nearly unusable. Don't focus the project navigation on a tree browser if you're not going to integrate it into the rest of the navigation workflow.

NuGet regularly fails silently to restore packages.

It uses a virtual filesystem that usually maps 1:1 to the actual project folder.. except files created outside of VS are completely invisible to it, unless manually added to the project.

The project/solution files are very verbose and aren't designed to be edited by humans.

The migration path from .NET Framework to .NET Core seems to be "create a new project, copy the files over manually, and copy over your old settings one by one".

Some of these have been fixed for new projects, but there is no option to migrate to the new structure. Except, again, starting over with a new one.

Re:The new Microsoft Edge is out of preview by NicoJuicy on Wednesday January 15, 2020 @06:08PM (#22059834)
Euh, lol.

You are talking about the biggest architecture change of. Net in 30 years ( going cross platform) and they are still going to support VB 6, WPF,..

Visual studio is actually a very robust IDE. The issue you are mentioning is .net framework project files and if you copy files within or to Visual Studio it will be added. .net framework only wants to add files you want to deploy ( not perfect, but okay).

For migrating to. Net standard 2.0, remove assemblyinfo.cs and change the. Csproj file. You should manually add the Nugget packages again or change it to the new structure. The biggest issue is entity framework though, in a lot of projects. From. Net standard to . Net core is a lot easier.

Seems pretty reasonable to me, updating other things ( eg. Android) have caused more issues than this.

Ps. Navigating is mostly f12 of control+f12

Re:The new Microsoft Edge is out of preview by eyegor on Wednesday January 15, 2020 @10:23PM (#22061411)
As someone who uses visual studio + code literally every day, I'm not sure what you're referring to with most of these complaints.

The project/solution files are bog standard xml, and well documented, but in general you shouldn't need to touch them.

The migration from framework to core 3.0 is now very simple thanks to xaml support, but it used to be a huge hassle. You can literally just edit the tags in your csproj/fsproj/etc to enable different target frameworks, or you can use the ui [0], and then you'll need to do a nuget reinstall. One command [1].

As for running into bugs, they built bug/feature requests into the visual studio 2019 ide, or you can access it via the website [2]. They are usually very responsive, typically something within a couple of days.

[0] https://stackoverflow.com/questions/57334018/visual-studio-2...

[1] open package manager console, type 'update-package -reinstall'.

[2] https://developercommunity.visualstudio.com

Re:The new Microsoft Edge is out of preview by Nullabillity on Thursday January 16, 2020 @02:45AM (#22062431)
> The project/solution files are bog standard xml, and well documented, but in general you shouldn't need to touch them.

Project files are "bog standard" XML (except for all the weird magic, like variable resolution and conditionals), but solution files are some unholy VB-like abomination.

But regardless, that doesn't help much when the schema is clearly not designed for human editing (incredibly verbose, UUIDs everywhere for references, etc).

> The migration from framework to core 3.0 is now very simple thanks to xaml support, but it used to be a huge hassle.

No idea how a GUI description language is supposed to help you here.

> You can literally just edit the tags in your csproj/fsproj/etc to enable different target frameworks

Didn't work for me.

> or you can use the ui [0], and then you'll need to do a nuget reinstall. One command [1].

Keep in mind that that command is free to update dependencies as it feels like.

Re:The new Microsoft Edge is out of preview by squiggleblaz on Thursday January 16, 2020 @06:23AM (#22063524)
I'm so completely not a Windows developer or a C++ developer, but seriously, the experience working with Visual Studio on Windows/C++ when I didn't really know what I was doing - but I had to do undocumented things (I needed to get Haskell to talk to some Windows apis, for which no bindings exist) - was incredible. Second to none. I'm half thinking about changing career direction it was so nice.
Re:The new Microsoft Edge is out of preview by kunglao on Friday January 17, 2020 @05:50AM (#22073597)
1. Navigation: subjective so gonna let that slide. 2. Downright bullshit. You are starting to whine. 3. Subjective but far from something that makes the IDE a "piece of crap" 4. You are starying to sound like you are in the wrong industry. 5. No. Change the .csproj and drop the AssemblyInfo.cs usually work for something that can actually be migrated. If you expect any project that targeted Windows to just migrate to cross platform using a NNF you are an idiot.

At the very least you could have given an example of an IDE that you consider is better. You were just talking out of your arse.

Re:The new Microsoft Edge is out of preview by Nullabillity on Friday January 17, 2020 @07:53AM (#22074162)
> 1. Navigation: subjective so gonna let that slide.

If you're going to pick a mode of navigation then at least commit to it. It's subjective whether or not any particular choice is good. The quality of the implementation, not so much.

> 2. Downright bullshit. You are starting to whine.

Sorry for wanting a package manager to... manage packages, I guess.

Or maybe it's configured wrong? I guess it's too much to expect two Microsoft tools to work well together..

> 3. Subjective but far from something that makes the IDE a "piece of crap"

Do you never edit your project files from outside the IDE?

> 4. You are starying to sound like you are in the wrong industry.

Compare a typical SBT build definition[0] or Cargo.toml[1] to a typical VS solution[2] or project[3]. Which would you feel the most confident about when modifying by hand?

(Hint: For me, it's definitely not the one that is full of autogenerated cartesian products.)

> 5. No. Change the .csproj and drop the AssemblyInfo.cs usually work for something that can actually be migrated.

So why couldn't Microsoft include a tool for that migration? That seems like table stakes for such a migration project. We're not exactly talking about 2to3[4] or rustfix[5] here...

> If you expect any project that targeted Windows to just migrate to cross platform using a NNF you are an idiot.

Amazing how Microsoft are completely unable to even get close to what the Wine and Mono people did years ago.

> At the very least you could have given an example of an IDE that you consider is better. You were just talking out of your arse.

Throw a dart and you'll find something. If you want the out-of-the-box live-in-your-IDE experience then JetBrains' stuff is miles better than VS. Personally I moved on to Spacemacs[6] after a few years each of VS and IntelliJ.

[0]: https://gitlab.com/teozkr/what-should-i-sing/blob/master/bui...

[1]: https://gitlab.com/teozkr/scankiosk/blob/master/scankiosk-ui...

[2]: https://github.com/getsentry/raven-csharp/blob/develop/src/S...

[3]: https://github.com/getsentry/raven-csharp/blob/develop/src/a...

[4]: https://docs.python.org/3.8/library/2to3.html

[5]: https://github.com/rust-lang/rustfix

[6]: https://www.spacemacs.org/

Re:The new Microsoft Edge is out of preview by techntoke on Wednesday January 15, 2020 @04:39PM (#22058995)
What is your definition of developer-first? My experience working at Microsoft in 2015 was the opposite of what you describe. They were too focused on supporting legacy MS that they couldn't innovate or find and keep talented developers in open source because they were forced to adopt tools and frameworks that were crap compared to standard open source development tools.

The only reason people went there usually was for the money and once they got enough to follow their passion, they left because none of them were passionate about Microsoft.

Re:The new Microsoft Edge is out of preview by catach on Wednesday January 15, 2020 @07:46PM (#22060563)
External rather than internal dev support.
Re:The new Microsoft Edge is out of preview by techntoke on Thursday January 16, 2020 @12:19AM (#22061875)
We all know Microsoft has a lot more internal documentation than external, especially with Windows around that time.