May 12, 2013
On Sunday, 12 May 2013 at 18:42:22 UTC, deadalnix wrote:
> On Sunday, 12 May 2013 at 18:09:59 UTC, Walter Bright wrote:
>> I think that is irrelevant to my point. A language doesn't have to be text based.
>
> Textual format have proven theur usefullness again and again. Programming languages, json, xml, even dark stuff like LLVM IR have a textual representation. This is easier to debug.
>
> In that regard, if you consider IntelliJ, java has become a textual representation. It is important as the compiler would be much harder to create otherwize.

Languages have been stored textually yes, and that is clearly beneficial, but editing code even in fairly basic editors is far beyond simple text editing.

Automatic indentation, symbol selection, symbol renaming, symbol navigation, code folding, auto-completion, quick info, intellisense, syntax highlighting, etc. mean that editing code is far closer to editing a complex tree-like data structure than editing text, even displaying it is not the same, and that's how it should be for maximum productivity. Conceptually we think about code in a way much closer to an AST than a bunch of lines of text.

Joke or not, I would amend "real programmers use notepad" to "real programmers *should be able* to use notepad".
May 12, 2013
On Sun, 12 May 2013 18:35:25 +0200
"Juan Manuel Cabo" <juanmanuel.cabo@gmail.com> wrote:

> On Sunday, 12 May 2013 at 03:58:04 UTC, Nick Sabalausky wrote:
> > The nicest thing of all, IMO, about not strictly needing all
> > that
> > support software is that basic things like
> > editing/navigating/opening/closing code is always and forever
> > 100%
> > unobstructed by things like startup delays and keyboard input
> > lag which
> > have no business existing on the rocket-engined supercomputers
> > we now
> > call "a PC".
> 
> I'm using a little known IDE for D known as Poseidon:
>      http://www.dsource.org/projects/poseidon/wiki/Screenshots
> it is very fast, loads very quickly, and the editor is very
> responsive. The keyword autocompletion is mostly broken in D2 but
> I can live without it. It is a bit sad that it has gone
> unmantained for more than a year.
> 

Looks interesting. Now that you mention it, I do seem to recall hearing about it back then. Personally, I've been a huge fan of Programmer's Notepad 2 <http://www.pnotepad.org/>. My #1 complaint about it though is that it's Windows-only. I want to switch to Linux for my primary system, but the lack of PN2 is one of the roadblocks (there are other roadblocks, though).

> These are the things that I cannot live without for my big D2
> project:
>      - Syntax highlighting.
>      - Search in multiple files.
>      - Can go to file/line when double-clicking on compiler error.
>      - Compile/run/debug just by hitting SHIFT-F5, and other keys.

Yea, PN2 has all of that. Essential stuff IMO too.

>      - Tree like structure for navigating all the many source
> files of my project.

PN2 has that for files, although it looks like Poseidon goes another step further and puts funcs/classes/etc into the tree, too. I heavily use PN2's FF-like QuickFind for that sort of thing. Obviously not as good, but it gets me where I'm going ;)

>      - Debugging (breakpoints, step by step, go to line that
> crashed). It suprisingly still works in Poseidon.

Yea, that's something PN2 doesn't have. (Un)Luckily for me, I've spent a lot of time in the past on things where I didn't have a debugger available (one time my only debugging aid was a single LED! Royal PITA!), so I've gotten so accustomed to printf debugging that I find I usually prefer it.

Debuggers are great, I'd never deny that, but one thing I love about printf-style is you can trivially go back-and-forth in time just by scrolling. Debuggers only give you one time-slice at a time, and can usually only progress forwards.

Of course, printf-style debugging really needs a language that compiles fast. Fine for D, but it's no so fun with C/C++.

>      - No need for a makefile. It feeds all source files
> (hundreds) and libraries to dmd.
> 

I used to swear by Visual Studio (until it got bloated, somewhere around one of the earlier .NET versions) and I loved the whole approach of "no makefiles, just feed all the project files to the compiler".

But these days I prefer RDMD-style approaches ("pass the one main source file to a cmdline tool and it figures out the rest") because they're trivially scriptable and don't cause a specific editor (or any editor at all) to become a build requirement. I find that especially important for OSS and cross-platform projects.

Ever dealt with automated building of a multi-part project that included building a Visual Studio project or (worse) a Flash project as just one part of the overall process? Blech. It's awful.


> For smaller D projects I use Vim/makefiles though.
> 
> Again, I'm a bit sad that it has gone unmantained for so long, but it's totally usable still. This is the faster IDE that I've found.
> 
> --jm
> 


May 12, 2013
On Sun, 12 May 2013 14:16:18 +0200
Timon Gehr <timon.gehr@gmx.ch> wrote:

> On 05/12/2013 05:59 AM, Nick Sabalausky wrote:
> > On Fri, 10 May 2013 19:04:31 -0400
> > "Jonathan M Davis" <jmdavisProg@gmx.com> wrote:
> >
> >> On Friday, May 10, 2013 14:31:00 H. S. Teoh wrote:
> >>> As they say in information theory: it is the stuff that stands out, that is different from the rest, that carries the most information. The stuff that's pretty much repeated every single time conveys very little information.
> >>
> >> This is an excellent way of looking at language design (and program
> >> design for that matter).
> >>
> >
> > Not to mention data compression ;)
> >
> 
> A program is a compressed representation of its possible executions.

Indeed. And generally with an absolutely enormous compression ratio - often even infinite (when there's infinite possible executions). Or at least "effectively infinite" even if not truly infinite in a strict mathematical sense, simply due to finite memory.

May 12, 2013
On 05/12/2013 02:08 PM, Walter Bright wrote:
> On 5/12/2013 9:42 AM, Jeff Nowakowski wrote:
>> Second, in the Q&A session of your talk, you said, "I'm sorely tempted
>> to say
>> that real men don't use IDEs..."
>
> Yes, but I said that as a joke.

It was said jokingly, but I have very little doubt it conveyed your true feelings. You have a history of brushing off concerns about IDEs by relying on a remark from David B. Held that Java needs an IDE to generate boilerplate, which I will say to the contrary is one of the lower priority reasons of why I find IDEs so useful for Java.

Do you use an IDE? Have you even tried one in the past 10 years?

> No, the sentiment was that an IDE was not the solution to a language's
> deficiencies.

That's fine, but when somebody asks you about D support for IDEs, "joking" about "real men" not needing one doesn't inspire confidence you actually understand the value. Maybe in your next keynote you can talk about how D has first-class support for IDEs, much like you did for unit tests.

One way to get first-class support is to make the compiler amenable to being used as a library, something that's been suggested before. I'd be happy to be told I'm out of date, and this support is already in the works or at least on the radar.
May 13, 2013
On 2013-05-12 21:31, Nick Sabalausky wrote:

> Looks interesting. Now that you mention it, I do seem to recall hearing
> about it back then. Personally, I've been a huge fan of Programmer's
> Notepad 2 <http://www.pnotepad.org/>. My #1 complaint about it though
> is that it's Windows-only. I want to switch to Linux for my primary
> system, but the lack of PN2 is one of the roadblocks (there are other
> roadblocks, though).

Take a look at Sublime Text. It's ridicules fast and cross platform. The only problem is that it's not free. You can download it for free and dismiss a dialog popping up once in a while.

http://www.sublimetext.com/

> But these days I prefer RDMD-style approaches ("pass the one main
> source file to a cmdline tool and it figures out the rest") because
> they're trivially scriptable and don't cause a specific editor (or any
> editor at all) to become a build requirement. I find that especially
> important for OSS and cross-platform projects.

The problem here is when you need to use a couple of compiler switches. You need a file to put that in, usually a shell script. Unfortunately that doesn't work on Windows. So you need to duplicate that file for Windows.

-- 
/Jacob Carlborg
May 13, 2013
On 2013-05-12 18:35, Juan Manuel Cabo wrote:

> I'm using a little known IDE for D known as Poseidon:
>      http://www.dsource.org/projects/poseidon/wiki/Screenshots
> it is very fast, loads very quickly, and the editor is very responsive.
> The keyword autocompletion is mostly broken in D2 but I can live without
> it. It is a bit sad that it has gone unmantained for more than a year.
>
> These are the things that I cannot live without for my big D2 project:
>      - Syntax highlighting.
>      - Tree like structure for navigating all the many source files of
> my project.
>      - Search in multiple files.
>      - Debugging (breakpoints, step by step, go to line that crashed).
> It suprisingly still works in Poseidon.
>      - Can go to file/line when double-clicking on compiler error.
>      - Compile/run/debug just by hitting SHIFT-F5, and other keys.
>      - No need for a makefile. It feeds all source files (hundreds) and
> libraries to dmd.

I can do that with TextMate, except the debugging.

-- 
/Jacob Carlborg
May 13, 2013
On 12 May 2013 19:08, Walter Bright <newshound2@digitalmars.com> wrote:

> On 5/12/2013 9:42 AM, Jeff Nowakowski wrote:
>
>> Second, in the Q&A session of your talk, you said, "I'm sorely tempted to
>> say
>> that real men don't use IDEs..."
>>
>
> Yes, but I said that as a joke.
>
>

As we all know that real men use vim.   :o)

-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';


May 13, 2013
I know some folks who use Sublime Text and love it.

On Mon, May 13, 2013 at 2:52 AM, Jacob Carlborg <doob@me.com> wrote:

> On 2013-05-12 21:31, Nick Sabalausky wrote:
>
>  Looks interesting. Now that you mention it, I do seem to recall hearing
>> about it back then. Personally, I've been a huge fan of Programmer's Notepad 2 <http://www.pnotepad.org/>. My #1 complaint about it though is that it's Windows-only. I want to switch to Linux for my primary system, but the lack of PN2 is one of the roadblocks (there are other roadblocks, though).
>>
>
> Take a look at Sublime Text. It's ridicules fast and cross platform. The only problem is that it's not free. You can download it for free and dismiss a dialog popping up once in a while.
>
> http://www.sublimetext.com/
>
>
>  But these days I prefer RDMD-style approaches ("pass the one main
>> source file to a cmdline tool and it figures out the rest") because they're trivially scriptable and don't cause a specific editor (or any editor at all) to become a build requirement. I find that especially important for OSS and cross-platform projects.
>>
>
> The problem here is when you need to use a couple of compiler switches. You need a file to put that in, usually a shell script. Unfortunately that doesn't work on Windows. So you need to duplicate that file for Windows.
>
> --
> /Jacob Carlborg
>


May 13, 2013
On 05/13/2013 10:19 AM, Dmitry S wrote:
> I know some folks who use Sublime Text and love it.
> 
> On Mon, May 13, 2013 at 2:52 AM, Jacob Carlborg <doob@me.com> wrote:
> 
>> On 2013-05-12 21:31, Nick Sabalausky wrote:
>>
>>  Looks interesting. Now that you mention it, I do seem to recall hearing
>>> about it back then. Personally, I've been a huge fan of Programmer's Notepad 2 <http://www.pnotepad.org/>. My #1 complaint about it though is that it's Windows-only. I want to switch to Linux for my primary system, but the lack of PN2 is one of the roadblocks (there are other roadblocks, though).
>>>
>>
>> Take a look at Sublime Text. It's ridicules fast and cross platform. The only problem is that it's not free. You can download it for free and dismiss a dialog popping up once in a while.
>>
>> http://www.sublimetext.com/
>>
>>
>>  But these days I prefer RDMD-style approaches ("pass the one main
>>> source file to a cmdline tool and it figures out the rest") because they're trivially scriptable and don't cause a specific editor (or any editor at all) to become a build requirement. I find that especially important for OSS and cross-platform projects.
>>>
>>
>> The problem here is when you need to use a couple of compiler switches. You need a file to put that in, usually a shell script. Unfortunately that doesn't work on Windows. So you need to duplicate that file for Windows.
>>
>> --
>> /Jacob Carlborg
>>
> 

It's really nice, even with the nagware, which isn't even that bad. It only pops up something like every 50 times you save. Even better, it has built in support for Makefiles within a project, and it's fairly straightforward to work with other build systems. (I have a simple DUB one working)



May 13, 2013
Thank you, nicely explained.