6 ms·
Writing C# code in Visual Studio feels almost like telepathy. Intellisense is so good that, it nearly writes 30-40% of total code.
by meow 14y ago
Writing C# code in Visual Studio feels almost like telepathy. Intellisense is so good that, it nearly writes 30-40% of total code.
- Inufu 14y agoIf code can be written by auto completion, it's by definition redundant and IMHO shouldn't be necessary in the first place.
- javajosh 14y agoThat is not true. Autocompletion is a decision with user override enabled. It is, at the very least, a visible decision. That does not imply that it is totally automatable.
- jonny_eh 14y agoJust hide the default behaviour and make the overrides optional.
- d1plo1d 14y agoWhat about sensible defaults? If the libraries you use are designed with reasonable defaults that have already anticipated your needs there should not be any need for anything but the most basic syntactic autocomplete functionality (closing brackets for example) because any code at that point is customization for your specific project which is not easily generalized (otherwise it would be a default in the library).
- ben_straub 14y agoNo, it's more like the IDE is augmenting your brain and fingers. The code comes out readable, but you only have to type a fraction of the characters. It's a code-writing assistant robot. Also, it makes APIs incredibly discoverable. Not sure what a `IQueryable` provides? IQueryable iq = null; iq. and scroll through the popup. Instant one-line descriptions are available in the tooltips, and you can get full documentation with F1. you've ever experienced this, it's REALLY hard to go back to Emacs. It's incredibly well done. (edit: formatting)
- neeleshs 14y agoAgree on the discovery part, this is the biggest reason why I stay away from vim.
- illicium 14y agohttp://www.vim.org/scripts/script.php?script_id=1520 http://www.vim.org/scripts/script.php?script_id=1520
- thenduks 14y agoThat doesn't sound all that good to me. My steps to finding what IQueryable provides: * Cmd+Tab to Chrome * Cmd+L for location focus * \IQueryable searches DuckDuckGo for IQueryable and takes me to first result I get to use the editor I want (hint, not visual studio), and I know a lot more about IQueryable anyway and can continue poking around in the docs to learn more about the 'nearby' bits of the API. I don't really want my editor to write code for me after only a fraction of the characters. I like writing code. I agree with Inufu, I feel like completion of more than, say, IQu[tab] is starting to show redundancy I'd prefer not to have in the first place.
- andypants 14y ago"Here's how to instantly find documentation on something." "That doesn't sound all that good to me. Here's how I do it in multiple steps, in a different window!" Do you see the problem here?
- slowpoke 14y agoNo, I don't. He's using different tools for different jobs, which is the way it should be. Not an integrated mess of a thousand and one things that should be stand-alone programs with intercommunication ability. Those who don't understand UNIX are forever doomed to re-implement it - poorly. Which is the story of every IDE ever.
- 14y ago
- OriginalSyn 14y agoI felt like I was more of a configuration engineer than software developer when I was working in VS. If I got stuck I would just start typing and then hit ctrl+space and scroll through intellisense to get the options that seemed to fit.
- hackinthebochs 14y agoI get that feeling with all modern software engineering. Intellisense and similar environments at least try to make it bearable. How I long for the day of starting your project with only a blank document.
- OriginalSyn 14y agoI guess that's why I gravitate towards JavaScript, still kinda the Wild West where we can still write things from scratch.
- MartinCron 14y agoIf you haven't already, you owe it to yourself to try ReSharper. The automated refactoring and static analysis tools are best described as "pair programming with a genius robot".
- bullseye 14y agoI couldn't agree more. In fact, that is my single biggest problem with being a C# developer. Sounds counter-intuitive, right? Each time I dive into another language, I feel handcuffed because I don't have the features and options that I get from Visual Studio. Once the "new language smell" has worn off, I find myself wishing for faster ways to develop sections of code. I miss instant code compilation and validation. The ability to hop around sections of code, immediately find all references, or catch compile errors at a glance are all things I take for granted until they aren't there. And don't even get me started on ReSharper. Those guys at JetBrains are glorified drug dealers and I am one very hooked addict. All that said, it makes it very difficult for other languages to gain traction with me. At times, the software adventurer in me gets frustrated about this, but the pragmatic side of my personality (the one that likes food and a house) prevents me from giving up all those benefits.
- mattmanser 14y agoAmen, I almost totally jumped ship when MVC was a 'new' thing, if they hadn't brought out ASP.Net MVC when they did I would have left. The only thing I hate about C# is the 'magic' they keep trying introducing to the frameworks. ASP.Net was bloody awful but if you haven't checked out MVC 4, this is truly WTF were you thinking MS: http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api http://www.asp.net/web-api/overview/getting-started-with-asp... GetAllProducts magically maps to api/products/ GetProductById magically maps to api/products/{id]. Fucking retards, just give me the tools, not the magic. It's so focused on incompetent idiots. It's even worse than the stupid and almost but not quite utterly useless user membership crap they infect your code and database with. That's what's pushing me away from C# more than anything else, the random magic that will suddenly kill your application.
- grandpoobah 14y agoI found the magic just got in my way when I first got into ASP.NET MVC. I needed to use Firebird with Entity Framework but I didn't want to use that horrible feature which connects to the database and maps it automatically for you using a GUI. Mapping my model to the database is just something I'd rather do manually, and eventually I figured out how to do it and it's awesome. I don't use membership so it doesn't infect my db.
- middayc 14y agoif your IDE writes 30-40% of code for you it just means your language needs at least 30-40% more code than it should to cleanly describe the algorihtm. (not dissing C# here, just all IDE-aised languages)
- cies 14y agonot entirely true. some languages are very-IDE-aidable but verbose (java and c# come to mind), some are not very IDE-aidable but less verbose (ruby and python come to mind, various LISP variants also fit here I guess). but that is not hard rule as, for instance, haskell is potentially-very-IDE-aidable AND less verbose. now only the haskell IDEs need to mature :) but this is a mater of time.
- Too 14y agoIf my IDE writes 40% of my code it means i can call my functions ConnectToDatabaseCheckUserNameAndCountPosts() instead of ConDBusrCnt() just to save a few taps on the keyboard.
- justncase80 14y agoThough arguably that should be three different functions: ConnectToDatabase() CheckUserName() CountPosts()
- v-yadli 14y agoWhich doesn't mean that you can get GetCellLocatuonById into Get CellLocation ById
- v-yadli 14y agoSorry for the formatting, the reply box on Android is malfunctioning.
- Too 14y agoObviously that's not taken from any real code but just the most obscure function name that still makes sense that i could make up in my head while writing the reply. ...But even after splitting it into three functions you would still save 60% of your keystrokes by using auto completion ;) Con()ENTERChec()ENTERCou()ENTER
- facundo_olano 14y agoYes, but with Ruby or Python 60% of that code wouldn't even need to be written.