Microsoft is Bringing Visual Studio To Mac (techcrunch.com)
Microsoft will finally bring Visual Studio, a "true mobile-first, cloud-first development tool for .NET and C#," to Mac later this month, the company has said. From a report on TechCrunch:The IDE is very similar to the one found on Windows. In fact, that is presumably the point. By making it easy for OS X users to switch back and forth between platforms, Microsoft is able to ensure coders can quickly become desktop agnostic or, barring that, give Windows a try again. From the release: "At its heart, Visual Studio for Mac is a macOS counterpart of the Windows version of Visual Studio. If you enjoy the Visual Studio development experience, but need or want to use macOS, you should feel right at home. Its UX is inspired by Visual Studio, yet designed to look and feel like a native citizen of macOS. And like Visual Studio for Windows, it's complemented by Visual Studio Code for times when you don't need a full IDE, but want a lightweight yet rich standalone source editor.
I guess this is what you could call "the worst of both worlds".
I cannot stand Visual Studio's project/solution hierarchy. Xcode allows for an additional tier; target/project/workspace. 8 files build in parallel, not projects. Build times in Xcode are so much faster for the same C++ library.
Been doing .NET forever and with .NET Core running on macOS now, this is welcome news. Visual Studio Code is nice, but it isn't the solution full Visual Studio is. With full blown Visual Studio, .NET Core, Docker, I won't even need to run VMs anymore on my macbook to get work done.
I'd be happy if software companies who made the mistake of using platform-specific APIs and languages could cross-compile. Are you listening, Intuit?
I've been debating the past few weeks on whether or not to buy a new Windows laptop just so I could run Visual Studio....this solves that problem, thanks Microsoft!
Probable disclaimer from Microsoft:
Users of Microsoft Visual Studio for Mac OSX may find certain features of Visual Studio do not function as expected under the Mac OSX platform. For those users, we recommend using Visual Studio on a Microsoft Windows-based platform, to improve reliability.
Translation:
You didn't really expect us to write quality software for a competing OS that didn't eventually drive you over to Windows, did you? Silly user...
Who cares? When will it come to Linux?
I've been using Qt for this purpose for years.
Remember, You are unique...just like everyone else.
I usual Visual Studio from version 6 to 2010 for MFC development and found it got worse and worse with each new version. The interface turned into a train wreck and reduced your productivity and made it unpleasant to work with. The install size became absurd with it installing a lot of crap you didn't want (even if you unchecked all components the install size was still 8GB). Despite the insane bloat it lacked basic functionality (why wasn't something like Visual Leak Detector included as standard?). Furthermore, Microsofted treated C++ as a second class citizen while they focused on crap like .NET and HTML+Javascript.
In the end I got sick of it all and now use Qt in Qt Creator. Microsoft's development strategy appears to be "continue development until the product is unusable". They've done this with Windows, Office and Visual Studio. I'm therefore left wondering why any Mac user would want Visual Studio? Surely people have switched to a Mac because they're sick of Microsoft's ever-worsening software.
' Lameness filter encountered. Post aborted!
Filter error: You can type more than that for your comment.
The original announcement that was the source of the article in the OP has since been pulled; I've seen mention that it was just posted too early. Presumably it will be back at the regularly scheduled time or perhaps earlier when they realise that the genie is out of the bottle.
If it can do 64 bit IDE then why not PCs?
Will it crap out and hang as often as VS does on my Windows machine?
I haven't used Visual studio for any real work since 2008, but as I recall their debugger was fantastic for debugging C++. The other aspects of it were kinda "meh", but the debugger was freaking amazing. (And I'm a Mac/Linux guy who uses either Xcode or Makefiles most of the time.)
Avoid Missing Ball for High Score
Sorry, I've seen Microsoft's flaky support of Skype for Business, various iterations of Office, and others on Mac, and I just can't trust them with my dev environment. I'll still keep my .NET dev stuff on a stable of Windows 10 laptops and my everything else on the Mac.
... is this the one with ALL CAPS MENUS and achievements that they're porting to the Mac?
a true mobile-first, cloud-first development tool
There can be only one!
Fast Federal Court and I.T.C. updates
to bad there no real workstations on the mac.
the mac pro is 3 years old and was cut down from dual cpu to 1 cpu. If you want real power HP, DELL, Supermicro, and others have it for you.
Hahahha
"left-pad is the perfect example of the new frontier of software engineering. It's a small, easily composable function offered as an individual package. Using package managers, it can be trivially imported into other programs so that no one ever has to write the same code twice, and everyone can focus only on solving new problems. These micro-packages can be individually tested, and optimized, and handle far more edge cases than if everyone were to re-implement left-pad every time it is needed.
Instead, the upstream can handle all issues, and the end user can treat the upstream package like a black box, assuming that everything is handled upstream and that nothing will go wrong upstream. It is extremely unlikely that upstream will break things, and this frees the programmer to focus on innovating and moving fast."
So does VS still keep a reference of all project files in sln and proj files? This works wonders with Git and other version control tools. Hint to MS: everything is a file (see e.g. https://en.wikipedia.org/wiki/Unix_philosophy)
Does VS still save files in UTF-16 instead of UTF-8 (that rest of the world uses)? UTF-16, again, works wonders with Git by default.
Do VS templates still generate single line XML files (i.e. text files without line breaks)? You start to get the point: this works wonderfully with version control when you want to compare changes.
Is there already a 64-bit version of VS? Why not, 64-bit architecture seems not to be a problem for the rest of the world? Hint: value your source code more than your binaries and legacy-platform compatibility.
I could go on but I won't bother. MS is slowly inventing Unix while others are already there.
My all-time favorite IDE was CodeWarrior on classic Mac (the Windows version was the best on that platform at the time.) I tried Visual Studio 6 and wasn't impressed.
Then I had to use VS every day and got used to it. Most of its problems were/are horrific UI design (hidden/obfuscated settings!) and twitchiness (hangs; recreating projects from scratch when they refuse to build.) Overall usability is now quite good, and automation (intellisense, etc) is first rate.
I haven't tried XCode recently, last time it was still a mix of all the things I didn't like about the early VS's. It's free and I could get used to it if I had to work on Mac's: Apple got all the money they will ever get from me between 1986 and 2008 or so. (I still have one MacBook left, mostly running Windows, from the days when I still thought OS X would eventually suck less.)
I'd be delighted to have a modern VS on Macs for odd projects that need a text editor and project manager. I've experimented with Code for fiction writing, not bad (lots of customization.)
See subject & https://www.embarcadero.com/pr... for cross-platform development across PC's & smartphones galore...
APK
P.S.=> It's what I used to create APK Hosts File Engine 9.0++ SR-4 32/64-bit https://www.google.com/search?... (& it's a pity they killed "Kylix" for Linux - as it did Linux programs also (does ANDROID which IS a form of Linux though so imo, that's doable too) - it'd do it ALL)... apk
Visual Studio 15, next version not VS2015 which is actually version 14 go Microsoft numbering, is supposed to fix this.
It's broken out so you only install what you need to you'll have to much smaller footprint and patching will be faster. If you do a full install of everything it will probably still be slow. But you'll be able to choose a setup like I want to do just Windows apps in C# and it only installs the bare minimum to make that work.
Time. Has. Said. So.
VS. Codebase. Is. Archaic.
Everything. Done. To. VS. Now. Is. An. Attempt. to. Work-. Around. Memory. Constraints.
Ipso. Fatso. Forgetso.
No point in getting all excited about it.
We suffer more in our imagination than in reality. - Seneca
One of the MS devs wrote an angry article on how it's developers fault we need more than 2GB of memory and besides, 64-bit is slower because the CPU caches (L1,L2,L3) are the same size. Counter arguments that "the OS is 64-bit so this is moot" were rebuked with "UR DUMB LOL".
According to Ars Technica it is different product
http://arstechnica.com/informa...
I'm already using Qt and am happy to stay away from the painful VS.
- under Windows, Qt uses gcc/MinGW (or VS compiler if you wish)
- under Mac OS X, Qt uses XCode compiler
- under Linux, Qt uses native and easily installed gcc
At the time of the version 3, I also had the opportunity to work with the embedded version (user interface in trains, running on PPC computers).
So there is Qt, and there are many other solutions described in the other comments. M$, what are you doing here, then ?
By the way, since Skype is made using Qt : M$, please, explain why there are so many differences between versions, especially with the Linux one ? Need some lessons in portability ?
Totof
MS said they're not going to, I posted the announcement here some months back. Devs are still whining about it in the initial request on one of their feedback sites.
I think almost all Mac users have used Windows in the past and most of us will never go back to that hell again. There is a reason why companies like IBM is switching to Mac and Mac OSX; It is by far a superior product too anything Microsoft have put out on the market.
It will no doubt come with telemetry fully enabled by default, perhaps with direct parallel feeds to FBI, NSA, and the CIA.
Any chance this will mean we'll have the ability to finally do nice looking multi platform forms? Windows forms or something like it on OSX?
Xamarin Studio supports GTK, but it is old and yuck, and Xamarin Forms don't work for anything other than mobile.
I would gladly switch to Visual Studio on Mac since Xcode feels like a straight jacket. I want file-based tabs, not workspace-tabs and Visual Studio gives me proper tabs. If I could develop macOS & iOS apps using Visual Studio, then I'll never need Xcode again :-)
Frameworks suck. They're the modern version of DLL hell.
Really, just fuck off. And when you get there, fuck off some more.
And then...... You know where to go from there..
Keep your poison out of system. We do not want your diseased virus delivery system invading our space.
Nothing good will come of this. So really, just fuck off with that.
his hosts program is actually pretty good by xenotransplant
his hosts tool is actually useful for those cases in which one does indeed want to locally block stuff outright while consuming minimum system resources by alexgieg
I've never tried to belittle (APK's) work, I've flat out said it's good by BronsCon
take a look at the APK hosts file engine by SuperKendall
APK is kinda right. I've tried his hosts file generating software. It works by bmo
APK is totally right on this count. Adblock Plus on Firefox mobile is a dog on older, or lower end, phones. A hostfile based adblocker makes for a much better experience by chihowa
I like your host file system by Karmashock
I find your hosts file admirable by vel-ex-tech
When its hour glass cursor shows? It's busy working dumbass & when YOU can do better?? Then talk.
APK
P.S.=> See subject & you're clearly outnumbered + making a huge blunder (under an unidentifiable ac post too trolling (gee, go figure))... apk
Go ahead, install this stuff on your mac, what could happen?
Next thing you know, a big skull and crossbones shows up on your screen telling you to call - rasomware fix.
Since you're on a mac, you have just 1 day to pay up with bitcoin.
See subject: & when you build a better program of this nature, then talk - others here disagree w/ you bigtime https://apple.slashdot.org/com...
Proof it's a built-in inherent property of stringlist object-> lStringList.Duplicates:= dupIgnore;
(NOW THAT is 'brain dead simple' as it uses what's already built into a stringlist object & I use non-visible/non-gui stringlists - what you THINK is a GUI stringlist in my program, isn't... that has TOO MANY DAMN OVERHEADS IN IT & on updating it (if you remove dups or delete objects) SLOWS IT DOWN UPDATING SO BADLY, I opted NOT to use it!)
APK
P.S.=> Your suggestion is not only doing needless work but it is AMATEUR HOUR stupidity when the functionality is already there & others clearly disagree w/ your "findings" (unidentifiable ac troll w/ no balls = you & you sure TALK a lot, but show us you can DO BETTER THAN I, not some code snippet you stole from online somewhere, but a FULL PROGRAM... ok?) apk
You use a loop & slow it w/ Application.ProcessMessages calls (yes, they slow it) I don't need that loop - as I said - the STRINGLIST OBJECT has that built in for loading itself dumbass - I don't NEED a loop to deduplication items in my stringlist (I use non-gui version which has HORRIBLE UPDATE TIME when you add/remove or dedup items in it, so I went non-gui... again - what you see in my program displaying the data is NOT A GUI STRINGLIST VCL CONTROL!)
You are wrong from the get go on SEVERAL LEVELS (& bad architecture - that's hilarious & priceless - especially from someone trying to tell me how to do this program WHEN YOU HAVEN'T DONE A BETTER PROGRAM OF THIS KIND YOURSELF!):
1.) Misidentifying the control I used to display data
2.) SLOWING A LOOP w/ Application.ProcessMessages
But MOST OF ALL trying to tell ME "what to do" when YOU haven't done BETTER yourself... you're all hot air (your lack of doing better shows you probably also just looked that up online @ stackexchange but couldn't write a program yourself is my guess here as far as YOU are concerned).
Oh, & do I need to mention THIS again (which you 'conveniently ignored')?
I think so - OTHERS DON'T HAVE ANY PROBLEMS WITH MY WORK AND LIKE IT https://apple.slashdot.org/com...
(Do they do THAT for YOU? No, lol... nuff said!)
APK
P.S.=> You're laughable - talking out your ass with nothing to show for it... apk
See subject: 40 seconds here You also slow your unnecessary loop (on 4790k CPU) w/ application.processmessages stupidly updating progressbars on a GUI control data load (again unnecessary & SLOWER too w/ overheads galore!).
The IDEA is to get the job done w/ least code possible so it's FASTER - mine is (more code = slower, any FOOL knows that (except you)).
I mean WHY BOTHER WITH SHOWING DATA LOADING? IT SLOWS IT DOWN fool & yes, YOURS IS SLOWER BY NEARLY 10%!!! Which is probably your stupid use of Application.ProcessMessages & updating progress bars stupidly/needlessly in a quick seconds long operation (which is SLOWER than mine for the reasons above no less also)!
I do it in the LEAST amount of code & on dedup, minus GUI VCL control overheads too (unlike your alleged program that's non-gui, which of course SHOULD mean it's faster than mine & clearly, it's not)
I merely use what a stringlist non-gui object has natively for dedup for reload of data into gui VCL control from a stringlist (non-gui, too much overheads vs. non-visible stringlist object).
* LMAO! You failed on many levels!
(Especially slowing your stringlist processing using a loop AND displaying the LOADED ITEMS INTO A GUI CONTROL which is STUPID, slower, & unncessary)
(Above ALL else: Let's see a 'big talker' like YOU build a BETTER PROGRAM of this nature vs. mere "hot air" from you... ok?)
APK
P.S.=> So, let's see you make a program of this type THAT USERS LIKE & USE + BIG NAMES like Malwarebytes' folks HOSTING & RECOMMENDING IT TOO as mine is https://apple.slashdot.org/com... - let's SEE that outta you - go for it, talker... HOWEVER then you'd merely be IMITATING ME (copycat) & "Imitation IS the sincerest form of FLATTERY + shows you have NO ORIGINAL THOUGHT OF YOUR OWN... apk
See subject: Another AMATEUR f'up of yours IS that. Use REFRESH &/or UPDATE of progressbar object IF you stupidly use a loop for loading a list (dumb) when it has a built in load already!
ProgressBar1.Update; (preferred)
or
ProgressBar1.Refresh;
Additionally, like old Visual Basic DoEvents? Application.ProcessMessages IS NOT GUARANTEED TO UPDATE A GUI CONTROL via app level (messages drop stupid) lol, you'd have been BETTER OFF doing a Form.Update/Form.Refresh (if you stupidly do it @ APP level) - update/refresh IN THE VCL ITSELF (if dumb enough to loop this as YOU are) works better & is more guaranteed!
Why LOOP it though? You're inefficient! The LOAD method of a list (or data control) doesn't NEED it (much less to be looped as you stupidly did)!
Set the property as NO DUPS ALLOWED & LOAD IT (efficient)!
You're writing code that is unecessary - now THAT is dumb & amateurish (as well as using a less efficient method to do the work of updating a list on load (loops THAT ARE NOT NEEDED? Please, then compounding it by SLOWING IT with Application.ProcessMessages too when a REFRESH or UPDATE property of those objects does it better @ the VCL CONTROL LEVEL LOCALIZING IT TO SAID CONTROL (not app level, dumb)? LMAO - please!
* You're all talk & it shows or rather, DOESN'T SHOW since you are ALL TALK & no proof!
APK
P.S.=> Big talker, when you get Malwarebytes' folks to HOST & RECOMMEND work YOU do (none I see, lol)? Then, talk.
When other /.'ers say YOUR WORK IS GOOD AS THEY DO MINE & I've got more of these too https://apple.slashdot.org/com... ?? THEN, talk!
See - all you DO is 'talk' but I don't see your work (which would again, only be MERE IMITIATION, the sincerest form of flattery - you can't win)... apk
This, like you NOT using ProgressBar1.Update &/or .Refresh methods - Sleep API vs. Application.ProcessMessages (LOL).
Your CLASSIC f up on progressbar update trying app level vs. localizing it into the CONTROL itself via ProgressBar1.Update &/or ProgressBar1.Refresh as I noted here https://apple.slashdot.org/com... is priceless... lol!
* Why you're LOOPING a load (unnecessary) for blows me away (more code for NO real good reason) - VCL controls (especially for data) ALREADY HAVE IT BUILT IN (just like non-visible stringlist objects have dedup, so do VCL no dups allowed controls).
(Yes, Delphi 'abstracts away' API calls like C++ does, but going ABSOLUTELY direct is always a BETTER way - just like ProgressBar update & refresh is better vs. STUPID app level form control updates you used UNNECESSARILY - pointless & more code than is required + associated overheads, lol...)
APK
P.S.=> Again though & above ALL else - don't "take shots" at me when YOU HAVEN'T DEMONSTRATABLY SHOWN YOU HAVE DONE A BETTER ACTUAL PROGRAM Mr. "hot air" bs - or, I'll cut you to ribbons & SHOOT YOU DOWN!
Just like I did on your DUMB use of Application.ProcessMessages which like VB DoEvents is KNOWN to NOT HAVE GUARANTEED UPDATE on VCL controls as it drops messages (vs. ProgressBar1.Update or ProgressBar1.Refresh)
IRONIC: My captcha is CLOBBER (you have been clobbered on SEVERAL LEVELS here, chump)... apk
"That leads me to the better method, doing your processing in a background thread and updating your UI with TThread.Synchronize" - by DMFNR ( 1986182 ) on Tuesday November 15, 2016 @07:59PM (#53293313)
Are VCL gui controls GUARANTEED 100% absolutely threadsafe? No, they are not - you're a fool!
BIGGEST FOOL I EVER HEARD SHOOT HIS MOUTH OFF ON /. TRYING TO "TELL ME HOW IT IS" when I am NOW going to let you shoot yourself in the foot even more (more than your STUPID use of Application.ProcessMessages on update of progressbars (unneeded, extra code for NO good reason, it's a dataload of objects with already built in dedup to begin with lol) VS. LOCALIZING SAID UPDATE INTO THE ALREADY BUILT IN METHODS (.Refresh/.Update) IN PROGRESSBARS & OTHER CONTROLS ala https://apple.slashdot.org/com...
(Clue/FACT: VCL are not guaranteed threadsafe amateur, which is WHY I don't TThread create updates on them like a DUMB FUCK like YOU does, but Application.ProcessMessages WILL DROP MESSAGES like VB DoEvents does!)
APK
P.S.=> The BIGGEST LAUGH I have @ you is TALKING OUT YOUR ASS but not SHOWING US you've done a better program of this nature (anyone can 'talk' but you talk out your ass & make HUGE mistakes too, lol, biggest IS THIS)? Please, lol...
SHOW US THE LIKES OF MALWAREBYTES hosts & RECOMMENDS YOUR WORK AS I CAN + that /.'ers LIKE & USE YOUR WORK also recommending it (& I have more than these here by FAR, you don't) https://apple.slashdot.org/com...
Best part is this - next time your butthurt ass tries this? I just toss these NUMEROUS HUGE FAILS OF YOURS right back @ ya, lol... apk
OTHERS do the talking for me to shut your "ne'er-do-well" do nothing mouth whimp https://apple.slashdot.org/com...
Including the likes of Malwarebytes folks hosting & recommending my work... how about you? Nope, lol!
NOW TO YOUR SO-CALLED "POINTS" (to tear them up & you with them):
Run in Windows 7 AeroGlass you can move the window all you like. It minimizes just fine by the way also. Win32/GDI or Aeroglass! When it minimizes it also goes into 'background processing mode' lowering its CPU use to LOW.
LOL - "Gosh, let's take chances on data dropping putting UNSAFE on THREADS vcl controls risks into play" (lmao).
LMAO - Let's do a KNOWN message dropper in Application.ProcessMessages for refreshing a screen (which is KNOWN to NOT REFRESH A CONTROL AS WELL as its own methods do).
Let's use extra steps on CPU ceding using Application.ProcessMessages (when direct WinAPI calls to SLEEP does a better more direct job).
HOWEVER, above ALL else?
LOL - let's do a LOOPED LOAD of a control (lagging it with application.processmessages STUPIDLY as shown above to refresh a control) to SLOW IT UP, lol - "performance (not) by DMFNR (lmao) WHEN IT DOESN'T NEED THAT (only set no dupes property & use load method).
Don't even TRY tell me "how it is done" after all of those FUCKUPS of yours AND NO CODE YOU CAN SHOW US IN A PROGRAM THAT WORKS (mine does, others say so & like + use it (1,000's of them in fact).
Synchronize is not a guarantee of perfection in all conditions either you fool!
* Do you even KNOW what you're talking about OR did you just read it on StackExchange?
After all - I don't see ANY programs from YOU fake name online user (for your FAKE life & non-existent programs... you're all talk & talk full of mistakes).
Nobody here (or elsewhere) says anything good about YOUR non-existent work (they do mine) - gosh, I wonder why? LOL - DMFNR writes perfect code. How? Code with NO LINES has no errors, lol! DMFNR sure likes to dish out criticism (yet doesn't do a damn thing himself in programs) & calls MY work 'shitty'?
You're FULL of hot air & no substance (show us a program of yours - obviously, you can't).
Computers DO make mistakes stupid: Ever heard of REALTIME programming? Do you know WHY it exists? It guarantees all data gets there. Other systems do not! Do you know why ECC RAM exists too? Same idea albeit in hardware. You are SO full of it, it stinks.
Dumb ass: I've written over 40 LARGE systems that run companies entire datasystems into the MULTI-MILLION LINE code range & they're bulletproof & bugfree for decades (since 1982 BOY) & 100's of smaller programs (like hosts engine) for fun on the side ( & yes on the job too)
APK
P.S.=> Can't handle I shredded you AGAIN a second time (more like 5th lol after that list above)? Obviously not... apk
"That leads me to the better method, doing your processing in a background thread and updating your UI with TThread.Synchronize, but the above method is good enough for a simple list processing app" - by DMFNR ( 1986182 ) on Tuesday November 15, 2016 @07:59PM (#53293313)
See subject: Thread use on a progressbar VCL = UNSAFE & especially on a blocking load process which you SLOW UP dropping messages (application.processmessages does vs. update/refresh native to progressbar methods)!
THERE IS ALSO THUS NO POINT IN PUTTING THE INITIAL non-visible StringList DATA GATHER, SORT & DEDUP ON A THREAD EITHER or SLOWING IT IN A LOOP DUMBFUCK!
It's literally a blocking op as YOU NEED THE DATA FIRST minus risks on threading a VCL!
(...& all you need is to set the NoDup property of the StringList & LOAD a control - as FAST as possible (which I do, you don't)).
Your point is about progressbar updates via THREADS? DUMB! Extremely risk-taking DUMB!
It is SO short of a process (30 seconds over roughly 6++ million records on sort/dedup) it doesn't NEED LOOPS stupid that slows it down AND takes VCL threading risks!
A simple set of lStringList.Duplicates:= dupIgnore; & then lStringList.Load (filename) does the job FASTER by far!
Plus, you STUPID little noob amateur, using a Sleep API call directly in your SLOWER METHOD (vs. Application.ProcessMessages which abstracts that in the end but does add overhead) would have been better
HOWEVER AGAIN:
BIGGEST MISTAKE YOU MADE dumbfuck?
It was about progressbar updates on a THREAD, Yes PER YOU NO LESS & THAT IS A VCL CONTROL - you later told me "put it on a thread"!
THE VCL IS NOT GUARANTEED THREADSAFE (the Win32 api is though) SO YOU TAKE RISKS ON DROPPING DATA (not mere messagepassing updates this time but ACTUAL DATA).
(Additionally it's no background op dumbo - & it has to GET THE DATA FIRST prior to load which YOU SLOW UP too, no less - it is a CLEANLY LINEAR OPERATION (get data, sort, dedup & load))
APK
P.S.=> Now, ABOVE ALL ELSE?
Don't EVER try tell ME "how it works" shithead, when YOU HAVE NOT DONE THIS WORK YOURSELF & I have, others like & use it (big names, not just /.'ers which you have only seen SOME of, I have more) - prove otherwise, show us a working hostsfile program (you can't)... apk