Pretty please: Named arguments

Bruno Medeiros brunodomedeiros+spam at com.gmail
Thu Mar 24 07:33:28 PDT 2011


On 24/03/2011 06:36, Bekenn wrote:
> On 3/23/2011 9:12 AM, Bruno Medeiros wrote:
>>
>> Now that is an argument. Although I still don't agree: it really
>> shouldn't take that long to setup an IDE (if Netbeans and/or its PHP
>> plugin are crappy, don't use that to blame all IDEs :P ). But in any
>> case this is kinda besides the point, because setting up an IDE is a
>> one-time affair (reviewing code is many-times).
>
> There is far more cost involved in using an IDE than the setup time. A
> typical IDE will:
>
> - Consume a relatively large chunk of space. Visual Studio on my system
> takes up 1.9 GB, with one of the platform SDKs taking up an additional
> 565 MB. XCode on my other system eats up a whopping 9.7 GB (!) with the
> iOS SDK (the download for XCode 4 with iOS SDK 4.3 is 4.2 GB for the
> .dmg file). Eclipse puts them both to shame at 268 MB for Eclipse
> Classic, with the JDK adding 179 MB on top of that. (I only use Eclipse
> for Android development, so I haven't installed anything beyond the base
> classic package.) For D development, I use Notepad++, which is just an
> editor -- 11.8 MB (plus 105 MB for dmd and associated tools).
>
> - Hijack file extensions. I have several versions of Visual Studio
> installed that all cooperate very nicely with each other, but if I were
> to install Eclipse for C/C++ development, I'd have to remember to tell
> it not to take over handling for .c/.cpp files. This isn't such a big
> deal if the IDE only handles one or two languages, but if it's a
> multi-language IDE, then there may be a list of twenty or more file
> types to scroll through, assuming that the installer is even nice enough
> to let you choose.
>
> - Have its own shortcuts, features, and quirks. In Visual Studio, I can
> hit tab to confirm intellisense suggestions. If I do the same thing in
> Eclipse, then I end up shifting focus over to the documentation popup
> window, which is just maddeningly stupid. XCode doesn't give me a list;
> it just inserts its suggestion inline, and then I have to either hit
> escape or keep typing if I want something else entirely. (XCode's
> suggestions also seem to be highly non-deterministic in nature; I think
> their algorithm would make for a great prng.) Build in Visual Studio is
> F7. In Eclipse, it's ctrl-b, which at least matches XCode's cmd-b. This
> can be mitigated in most cases by changing key bindings, but now you're
> looking at either a short list of commands that can be changed (which
> might not include the command you're looking for), or a very, *very*
> long list with hundreds of commands that you have to wade through.
> What's more, you have to figure out what name the IDE gives to the
> feature you're looking for, and it may not always be clear. Eclipse
> provides a search bar to make it easier; good thing, too, because typing
> "content assist" into that bar gives me back *21 different entries*!
>
> - Have its own unique, non-portable project format. Some IDEs can work
> with makefiles, but even most of those don't actually use a makefile as
> its preferred project format. This means that if you're looking at
> different projects from n different people/groups, you may need
> O(log(n)) different IDEs just to be able to open up their project. On
> the flip side, if you're the author of a project and you want people to
> be able to use their favorite IDE, then you have to provide several
> different sets of project configuration files. At least with makefiles,
> other people can build your project from the command-line without
> installing your favorite IDE. (Same goes for Visual Studio project
> files, actually; you can build those from the command line with MSBuild
> without having to install Visual Studio.)
>
> Lastly, at this point, D just doesn't have much in the line of support
> from major IDEs. There are neat projects like Descent and VisualD, but
> that's hardly the breadth or scope of support that you'd get with an
> established, highly-visible language. IDEs are simply not part of the
> language specification, and the language shouldn't be designed under the
> assumption that everyone's going to use an IDE, especially if you're
> thinking about a particular feature which many IDEs might not even have.
>
> Don't get me wrong -- I love IDEs. They can be very helpful, especially
> when it comes to dependency tracking and assisted editing. Right now, I
> use Notepad++ for D because I don't feel that the existing alternatives
> really offer that much useful functionality beyond what that editor
> provides. I'm working on some MSBuild tasks to make the process easier
> (yes, I develop primarily in Windows), and the IDE story will get
> better, but these things take a lot of time to fully materialize.

Well, now we go back to discussion of the discussion of whether one 
thinks it's worthwhile to use and IDE or not (for general development, 
not just code reviews).
I don't want to go into this discussion again, at least not now so soon. 
I think that what we all may take from the discussion I was having from 
Steven right now, and maybe everyone agree with, is that whether it's 
worthwhile to use an IDE for code reviews is reduced to the discussion 
of whether it's worthwhile to use an IDE generally or not. In other 
words, if you don't do the tasks I mentioned before (looking up 
documentation, compiling and running code, running tests. also, using 
the source control system) from inside the IDE when developing yourself, 
you will definitely won't want to use it when code reviewing, accepting 
patches, etc..


-- 
Bruno Medeiros - Software Engineer


More information about the Digitalmars-d mailing list