Inheritance of purity

foobar foo at bar.com
Sat Feb 25 11:53:17 PST 2012


On Friday, 24 February 2012 at 05:05:29 UTC, James Miller wrote:

> You seem to think that there is "Notepad" or Visual 
> Studio/eclipse,
> when in reality there is a sliding scale, from using cat to 
> output to
> a file to using, well Eclipse or VS. But there are points along 
> the
> way, like Jonathon, I'm a (g)vim user, I tend to develop in 
> gvim and
> do quick edits in vim (tiling window manager, I don't like the 
> switch
> from full-screen to half-a-screen then back again), I have 
> tried all
> sorts of other systems and eventually just worked my way back 
> to the
> terminal. My ongoing quest for productivity has led me to 
> believe
> that, unless you want to be tied to a technology, back to 
> basics is
> the best way.

That's analogous to saying that you don't want to depend on a 
lighter since you can make your own fire by rubbing a stone with 
a wood stick. A lighter does tie you to a certain technology but 
loosing the lighter doesn't make for more productivity. Misuse of 
the tool or using the wrong one sure could hamper productivity 
but that's hardly the fault of technology.

>
> I personally believe that any set of tools should be made 
> thinking
> about the use case: "What if this person was developing using a
> Tektronix 4014?", I'm not saying that we should still be coding 
> to 30
> year old terminals, but the idea is that somebody might not 
> having a
> gui should not immediately be a blocker. This has been Windows'
> Achilles' heel for a while, many products don't work without a 
> gui,
> and therefore are difficult - or impossible - to script. If you 
> can
> provide a programmatic interface to your system, then you have 
> just
> allowed a ton more products to be made, at no extra cost to 
> you. Clang
> has built-in support for auto-completion and syntax analysis 
> and the
> front-end is even nicely packaged into a library, so I now have
> C/C++/Objective-C, context-aware, accurate completion in vim, 
> through
> the vim plugin clang-complete, this was not made by the people 
> at
> Clang, they just exposed the functionality (by the way, XCode 
> uses the
> same system, and Code::Blocks is moving their code-model to it 
> too).

The above regarding MS is incorrect. MS has lots of automation 
and is far better at it than *nix systems are. Its Powershell is 
superior to the *nix "everything is a file" ideology and there 
were several attempts to copy the concept to *nix with Python and 
Ruby.

>
> Programming a craft as much as it is a process. I tend to liken 
> it to
> carpentry, you have set steps, you design and plan and build 
> etc, but
> there's creativity there. As such, programmers (I've found) 
> tend to
> pick an environment that suits them best. I use a minimal 
> system that
> I can configure and hack to my heart's content. My colleague 
> uses a
> Macbook pro that he never shuts down. The designer here uses a 
> Macbook
> Air. And we all work fine, there is no "One True Way" to make a 
> chair,
> why should there be one for writing a program?
>
> My point is that the tools that programmers use, like compilers 
> and
> linkers and parser-generators and build systems and deployment 
> tools
> and source control and x and y and z and .... are going to be 
> used by
> a wide range of people, in a wide range of environments, for a 
> wide
> range of purposes, so they should keep in mind that maybe you 
> /don't/
> have a certain tool or feature available. So you make sure that 
> the
> experience at the lowest common denominator, a vt100 terminal, 
> is
> acceptable, maybe not perfect, but good enough, then you build 
> from
> there. If that means that D is geared towards less typing, then 
> good,
> especially if  you can do the extra typing and not break 
> things. It
> /is/ possible to make everybody mostly happy, and that is by 
> aiming at
> the people using `cat`* to program and hitting the people using 
> VS
> along the way.
>
> * Programming using `cat` is not recommended.**
> ** Even though /real/ programmers use `cat`
>
> --
> James Miller

I disagree. Simply put:

+---------+         +---------+
| Magic   |         | comfort |
| happens |         |  zone   |
| here!   |         +---------+
+---------+

Magic cannot happen here ^.


More information about the Digitalmars-d mailing list