May 19, 2012
On Friday, 18 May 2012 at 22:18:35 UTC, Andrei Alexandrescu wrote:
> It is, and the decision (after a good amount of deliberation) is arbitrary. Some rationale was that SortedRange has enough structure to make it an "interesting" range, so I put it in std.range. The argument could go either way. Now it's gone one way. Let's move on.
>
> Andrei

Okay; only pointed it out because I remembered it was also the subject of another one of my SO questions (stackoverflow.com/questions/6975670).
May 19, 2012
On Friday, 18 May 2012 at 16:59:41 UTC, Bruno Medeiros wrote:
> So just starting up the IDE is more important than actually writing code or fixing bugs?...

I'd like to see you do those things without starting your IDE.

> Seriously, I'm never going to understand you "editor" people..

My oversimplification of it is, IDEs like the fundimental component of writing software. A text editor. Sure it has this text insertion thing, but it just looks like they forgot about it.
May 19, 2012
On Saturday, 19 May 2012 at 01:33:55 UTC, Jesse Phillips wrote:
> On Friday, 18 May 2012 at 16:59:41 UTC, Bruno Medeiros wrote:
>> So just starting up the IDE is more important than actually writing code or fixing bugs?...
>
> I'd like to see you do those things without starting your IDE.
>
>> Seriously, I'm never going to understand you "editor" people..
>
> My oversimplification of it is, IDEs like the fundamental component of writing software. A text editor. Sure it has this text insertion thing, but it just looks like they forgot about it.

 I'll have to agree. You can skip the editor entirely and use nothing but cat, or Joe but I personally have not; I make too many mistakes on a single pass usually.

 Having a good base working environment that is both easy to use, and combines everything you need in one spot is actually quite crucial; and this does include an editor which may (hopefully) be part of an IDE. True I can probably do all the C/C++/D programming I want in notepad++, but doing all the extra work manually or only being able to rely on the language reference without any intellisense or something does leave a bit of a problem.

 The biggest deterrent to using D/D2 up to now was lacking a good debugger. With VisualD around I have just enough in the VS IDE to write and use my own code; True it has a lot of work to be done on it, but It's usable.  An improved IDE and debugger later will greatly speed up not only bug fixing but programming in general using D.
May 19, 2012
On 18 May 2012 19:59, Bruno Medeiros <brunodomedeiros+dng@gmail.com> wrote:

> On 12/05/2012 01:00, Timon Gehr wrote:
>
>> some essential properties:
>> - starts up instantaneously
>>
> ....
>
>  some 'nice to have' properties:
>> - code analysis based code completion
>>
> > - integrated debugger
>
> So just starting up the IDE is more important than actually writing code or fixing bugs?...
>
> Seriously, I'm never going to understand you "editor" people..


No, writing code and fixing bugs is more important than sitting around and
operating your computer.
I can hit F7 or F5 way faster than I can type a full line of some command
on the shell. I can tap tab and instantly complete typing the crap I waste
time typing repeatedly (typing almost all identifiers become just 1 or 2
key strokes). I can hit ctrl-space and have the documentation for a
function appear INSTANTLY much faster than I can swap out and refer to some
reference manual. I can step and debug and inspect the value of variables,
deep in structures containing a heap of indirection way faster than I can
operate GDB.
I will seriously never understand anyone who will try and honestly say
typing shit on a command line, feeding commands to GDB manually, and
looking up references in some external manual can possibly be faster...
under ANY circumstances... ever.


May 19, 2012
On Saturday, 19 May 2012 at 20:42:13 UTC, Manu wrote:
> On 18 May 2012 19:59, Bruno Medeiros <brunodomedeiros+dng@gmail.com> wrote:
>
>> On 12/05/2012 01:00, Timon Gehr wrote:
>>
>>> some essential properties:
>>> - starts up instantaneously
>>>
>> ....
>>
>>  some 'nice to have' properties:
>>> - code analysis based code completion
>>>
>> > - integrated debugger
>>
>> So just starting up the IDE is more important than actually writing code or fixing bugs?...
>>
>> Seriously, I'm never going to understand you "editor" people..
>
>
> No, writing code and fixing bugs is more important than sitting around and operating your computer. I can hit F7 or F5 way faster than I can type a full line of some command on the shell. I can tap tab and instantly complete typing the crap I waste time typing repeatedly (typing almost all identifiers become just 1 or 2 key strokes). I can hit ctrl-space and have the documentation for a function appear INSTANTLY much faster than I can swap out and refer to some reference manual. I can step and debug and inspect the value of variables, deep in structures containing a heap of indirection way faster than I can operate GDB. I will seriously never understand anyone who will try and honestly say typing shit on a command line, feeding commands to GDB manually, and looking up references in some external manual can possibly be faster... under ANY circumstances... ever.

 Perhaps to be a hard-core hacker? I've done a GUI-less programming before, using GDB, typing the commands, all that jazz. But it's about the same as jogging to work every day that's say 15 Miles away; you 'COULD' do it, but if there's a better way like a bike or a car or segway, then why continue to do it the longer more busy route?

 With a good editor and having data 10-50x faster and more available, you can get more work done, and thereby fix more bugs and program more. You'd have to actually use a decent IDE (like eclipse for java) to realize how useful it can be. Course if you have an awesome memory then perhaps it isn't quite as important; but honestly I have a horrible memory.
May 20, 2012
On 05/18/2012 06:59 PM, Bruno Medeiros wrote:
> On 12/05/2012 01:00, Timon Gehr wrote:
>> some essential properties:
>> - starts up instantaneously
> ....
>> some 'nice to have' properties:
>> - code analysis based code completion
>  > - integrated debugger
>
> So just starting up the IDE is more important than actually writing code
> or fixing bugs?...
>

No, you misunderstand.

- Time spent starting up the IDE is lost time that could be spent doing something productive instead. Hardware is fast. There is simply no excuse for poor start up times/poor responsiveness.

- The current IDEs have poor support for editing and navigating text. Furthermore, 'pattern recognition based code completion' was on my list as well.

- I am more efficient at bug-chasing by sending relevant data to stdout instead of setting breakpoints and fighting the GUI until I understand what is going on. (I think that one of the most useful features of eclipse is the built-in console.) Furthermore, in my experience, almost all bugs are trivial regressions and/or caught immediately by reasonably good assertions. YMMV.

- I concur that when faced with a new code base, or just poorly written code not written by oneself, some of the IDE features are very useful in order to get up to speed. But why does this functionality have to come in a GUI app, fully integrated with other components that may have drawbacks even if they are not explicitly used?

> Seriously, I'm never going to understand you "editor" people..
>

I do not see how this is relevant. Is your misunderstanding of the post deliberate?

May 20, 2012
On 20 May 2012 17:19, Timon Gehr <timon.gehr@gmx.ch> wrote:

> On 05/18/2012 06:59 PM, Bruno Medeiros wrote:
>
>> On 12/05/2012 01:00, Timon Gehr wrote:
>>
>>> some essential properties:
>>> - starts up instantaneously
>>>
>> ....
>>
>>> some 'nice to have' properties:
>>> - code analysis based code completion
>>>
>>  > - integrated debugger
>>
>> So just starting up the IDE is more important than actually writing code or fixing bugs?...
>>
>>
> No, you misunderstand.
>
> - Time spent starting up the IDE is lost time that could be spent doing something productive instead. Hardware is fast. There is simply no excuse for poor start up times/poor responsiveness.
>
> - The current IDEs have poor support for editing and navigating text. Furthermore, 'pattern recognition based code completion' was on my list as well.
>
> - I am more efficient at bug-chasing by sending relevant data to stdout instead of setting breakpoints and fighting the GUI until I understand what is going on. (I think that one of the most useful features of eclipse is the built-in console.) Furthermore, in my experience, almost all bugs are trivial regressions and/or caught immediately by reasonably good assertions. YMMV.
>
> - I concur that when faced with a new code base, or just poorly written code not written by oneself, some of the IDE features are very useful in order to get up to speed. But why does this functionality have to come in a GUI app, fully integrated with other components that may have drawbacks even if they are not explicitly used?
>
>
>  Seriously, I'm never going to understand you "editor" people..
>>
>>
> I do not see how this is relevant. Is your misunderstanding of the post deliberate?
>

It's also worth noting that this guy dropped D for C#. That's a pretty clear indication the environment was important to him.


May 20, 2012
On 05/20/2012 08:47 PM, Manu wrote:
> It's also worth noting that this guy dropped D for C#. That's a pretty
> clear indication the environment was important to him.

It is important to me as well. I would drop C#/VisualStudio for D/GNU Linux any day.
May 21, 2012
On Sun, 20 May 2012 20:43:15 +0100, Timon Gehr <timon.gehr@gmx.ch> wrote:

> On 05/20/2012 08:47 PM, Manu wrote:
>> It's also worth noting that this guy dropped D for C#. That's a pretty
>> clear indication the environment was important to him.
>
> It is important to me as well. I would drop C#/VisualStudio for D/GNU Linux any day.

It really all depends on where each person is coming from.  I have used windows/msvc all my career and I know how to do what I want to do without having to think about it, or go hunting for it, etc.  If you're that comfortable on another OS using other tools, then I can see why you wouldn't want to change.  The only motivator I can see for change is if the existing system is broken, or a new system brings /significant/ improvement.

I've worked with guys who had a good familiarity with GNU tools/environments and so requested the flexibility to switch their desktop/development environments from Windows/MSVC to linux/GNU or similar.  Permission was granted and off they went.  I can't honestly say they became more productive, but they were happier.  The cost was the downtime as they switched, and all those problems which cropped up after the fact - like how to get source in/out of existing systems to their new desktops etc.

Ultimately you'll be most productive using something which will:
a. do the job
b. in a way you're most familiar/used to

End of story.

R

-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/
May 29, 2012
Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> writes:

> On 5/18/12 4:36 PM, Mehrdad wrote:
>> On Friday, 18 May 2012 at 21:28:45 UTC, Andrei Alexandrescu wrote:
>>> I guess it is now :o).
>>>
>>> Andrei
>>
>> lol
>>
>>
>> One more thing that's also annoying about this is that it's not in std.algorithms, but std.range...
>>
>> Asn't binary search an algorithm?
>
> It is, and the decision (after a good amount of deliberation) is
> arbitrary. Some rationale was that SortedRange has enough structure to make it
> an "interesting" range, so I put it in std.range. The argument could go either
> way. Now it's gone one way. Let's move on.

This is posted long after the conversation, but a partial solution to the confusion could be handled in the docs.  Add a section in std.algorithms referring to std.range, so that newcomers can find what they're looking for with less confusion.

Jerry