7 ms·
I'm using C# mainly because of debugger integration in Visual Studio. Make decent visual debugger and devs will come.
by tkubacki 10y ago
I'm using C# mainly because of debugger integration in Visual Studio.
Make decent visual debugger and devs will come.
- romanovcode 10y agoVisual Studio code has pretty decent debugger for Go.
- chillydawg 10y agoIs that delve? If so, it doesn't work debugging tests, which makes it, depending on your style either totally useless or just quite annoying to use.
- swah 10y agoWhat are you developing with C#? I see Go more for server-side stuff, and C# for Unity/Desktop development...
- tkubacki 10y agosome legacy Windows server stuff - part of this could be rewritten to Linux/Go/whatever_server_lang just team mates are not willing to leave their comfortable VS env. if not provided with decent IDE/debugger
- rpeden 10y agoInteresting. I've used C# heavily at my last couple of jobs and it has all been server side web work - mostly back ends of web apps, but also services and microservices of various kinds. From talks with coworkers, the impression I've gotten is that most C# in the wild is running server side, though there's obviously a lot of it in desktop apps, and on mobile with Xamarin.
- pjmlp 10y agoOn our case desktop applications for interacting with healthcare and manufacturing devices, web sites and distributed computing.
- gravypod 10y agoIn general make good tooling and others will come. Look at Java/Eclipse
- sdegutis 10y agoCan confirm. At work we're moving from Clojure 8 to Java 8 partially because IntelliJ is amazing and partially because Java 8 plus the right libraries is close enough to Clojure anyway, except much faster.
- gravypod 10y agoI think as developers we are so used to pain that we forget how "easy" development can be if we allow people the right tools. If any language had the tooling and development Java did it would hold the market share. It's my opinion that if Rust makes a similar IDE experience (even just using Eclipse's platform) with every feature like code completion, formatting, debugging, the hole 9 yards and integrate Cargo into it they'll win. But, here's the caveat: It needs to be FLAWLESS integration. I've been a java developer for my entire programming career. Java was my first language when I was 12 and I'm 19 now. I still can't use javac without looking at a compiler guide since I never use it. Eclipse does the business and I don't ever even need to think about what's going on outside my code. Not once.
- pjmlp 10y agoJava like tooling already existed before Java was born. We had it in the form of Common Lisp, Smalltalk, Delphi and Visual Basic, IBuilder (for those rich enough), CA Objects, C++ Builder.
- reitanqild 10y agoTo add to this: in school I found Java a complete waste of time. Started working and someone showed me how to productively use eclipse and suddenly it was acceptable.
- javajavaj 10y agoThat you need an IDE to make a language bearable speaks volumes to the design of the language. Go is doing well because it realizes we can strip so much away, stay with the standard lib, and get real work done quickly. That's not to say that Java, in particular the JVM, isn't an impressive piece of engineering, but more that we should be careful when we choose our tools so as to not overly complicate things.
- pmarreck 10y agoMake decent unit test coverage and you'll hardly ever see a debugger again. Neither will you need a fancy code editor.
- tigershark 10y agoNope. It is absolutely false. You will always need a debugger and there are some problems that are not unit testable at all. How do you unit test a random WPF bug? And you'll always need a fancy code editor unless you're masochist.
- pjmlp 10y agoGo doesn't have yet anything capable of matching WPF and Blend.
- pmarreck 10y agoIf WPF was designed from the get-go using TDD, there would be less of a problem here in this case. I myself have hardly ever needed a debugger in any code i've worked on that has been TDD from the ground up. And it is almost ALWAYS related to OTHER code that was clearly not written with TDD in mind. Tell me something: What exactly is a "bug"? It is literally just a state the programmer did not expect, correct? So how do you keep all states expected? By constraining them (types, guards, etc.), by testing them in the small (unit testing, TDD), and by making them (ideally) immutable values (preventing unexpected changes to values within one stack frame). If you can control all possible states in the small, you can largely eliminate bugs in the large. At least, I've found this to be the case after 20 years of working on procedural and OO code...
- pjmlp 10y agoI am yet to see TDD work with native GUIs.
- pmarreck 10y agohttp://stackoverflow.com/questions/382946/how-to-apply-test-driven-development-for-gui-applicationvc-mfc http://stackoverflow.com/questions/382946/how-to-apply-test-... It's possible, and it works. Read the topvoted comment there and follow its links.
- zvrba 10y agoProgramming in C# feels almost like scripting. Blazing-fast compilation with the added benefit of static type system. If only MS took a different path of cross-platform support in the beginning.
- pjmlp 10y agoThat was already our experience in Turbo Pascal, Delphi, Oberon, .... :) My only complaint is that they took the CLR path instead of the Ext-VOS one, with is now reborn as UWP (aka WinRT).