Python : Pythonista / Ruby: Rubyist : / D : ?

Vasudev Ram via Digitalmars-d digitalmars-d at puremagic.com
Sat Apr 22 10:17:46 PDT 2017


On Saturday, 22 April 2017 at 08:30:03 UTC, Russel Winder wrote:
> On Fri, 2017-04-21 at 17:20 +0000, Vasudev Ram via 
> Digitalmars-d wrote:
>> Hi list,
>> 
>> I hope the question is self-evident from the message subject. 
>> If not, it means: what are D developers generally called (to 
>> indicate that they develop in D)? The question occurred to me 
>> somehow while browsing some D posts on the forums just now.
>> 
>> DLanger? DLangist? D'er? Doer? :)
>> 
>> I tend to favor DLanger, FWIW.
>
> I would hope none of these, but as ketmar said "programmer".

See my reply to Jonathan M Davis, above.

> Terms such as Pythonista, Rubyist, Rustacean, Gopher, etc. are 
> terms of tribalism and exclusion. They are attempts to ensure 
> people claiming membership of the tribe reject being polyglot 
> by pressuring them to eschew all other languages.

I think you are over-generalizing, and don't fully agree. 
Definitely, some people may use those terms in that manner and 
for that reason. Boo to them :) I'm never in favor of such 
pressuring, exclusion or whatever. And BTW I know what I am 
talking about, having seen some of it in real life, one example 
being in the Ruby world. I did Ruby commercially for a while, 
learned it even before Rails was created or became popular. And I 
frequented the Ruby message boards and blogs for a while, and 
participated in them. Saw a lot of what you describe, others have 
written about it too. A good amount ofjuvenile and one-up-manship 
behavior. That is one reason why I moved to Python (apart from 
liking it after using it some). The community tended to me more 
mature and engineering-oriented, rather than like the Ruby 
people, many of whom were hackish and gloated over having done 
some cool stuff with Ruby "magic" or monkey-patching (which often 
results in hard-to-find bugs - cool for experimenting, bad for 
production use). As far as being polyglot is concerned, I'm quite 
in favor of that too, and would never dream of even suggesting, 
let alone pressuring, people to "eschew all other languages", as 
you put it (this is the point about which I don't agree and think 
you are over-generalizing). In fact, I do training too, and once, 
a student who was taking a Python course from me, was talking 
about his goals (he works in another field and is trying to get 
into development). As part of that, he mentioned wanting "to 
become a good programmer (Python)" - at which point I immediately 
replied to him, that his goal should not be to become a good 
_Python_ programmer, per se, but to become a good _programmer_, 
period, because there is much more to programming than one or 
even many languages - databases, use of libraries, software 
design, testing, debugging, use of source control and other 
tools, naming conventions, other programming conventions and 
style, etc.  Mentioned books like Code Complete to him - as a 
great resource on those lines.

And I'm a polyglot programmer myself, having worked on BASIC 
(learnt on home computers), Pascal, C, Java, Informix 4GL. Done 
real commercial work in all of those, apart from the same in both 
Ruby and Python. And even keep dabbling in new languages now and 
then. That's how I came across D, for example, which I like a lot 
- IIRC it was by reading some article in a computer magazine, 
could have been Dr. Dobbs.

> A good programmer can work professionally with a number of 
> languages, the psychology of programming people have data 
> supporting this theory – if the languages have different 
> computational models.

Totally agreed.

> Thus I would claim to be a programmer currently working with D 
> for the project I am working on just now, with SCons/Python for 
> the build system. In a while it will be C++ on another project 
> with CMake. Later still it will be C and Meson on a different 
> project. Further on it will be Kotlin and Frege using Gradle 
> for yet another project.

Same here. Language agnostic. It's the best way. Another anecdote 
- once, in a company where I worked and was managing a product 
team, I had a need to write a small reminder utility for my own 
use. The project was in C++ and Java (I worked on the Java side), 
but since I knew Python and it was a good fit for the tool, I did 
it in Python - in a few minutes. One of my team members wanted to 
do it too, so, since he only knew Java, when I told him I was 
doing it in Python and it would be done very fast, he smiled and 
said "I'll do it in Java" - and proceeded take more time than I 
did for the same functionality. Nor was there any performance or 
other requirement that necessitated Java - he did it because it 
was the only language he knew. "Use the right tool for the job" 
and all that ...




More information about the Digitalmars-d mailing list