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

2017-04-24 Thread Vasudev Ram via Digitalmars-d

On Friday, 21 April 2017 at 17:20:14 UTC, Vasudev Ram 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.

Interested to know, just for fun ...

I do realize that there may not be commonly known or accepted 
terms like this for all languages. For example, I don't know if 
there is such a term for a C or C++ developer. Might make for 
an interesting thread.


Cheers,
Vasudev
Site: https://vasudevram.github.io
Dlang posts: https://jugad2.blogspot.com/search/label/dlang
Python posts: https://jugad2.blogspot.com/search/label/python


I was reading some of the replies over the last few days, have 
replied to a couple of them, and saw some more.


Enjoyed reading some of the responses that were in the same fun 
and innocuous spirit in which I wrote the post. (The D-series of 
terms, I mean - cool and creative, guys :)


Was surprised by some of the other reactions, many of which are 
probably due to misinterpretation of what I wrote. Will be 
replying to some more comments, as I think is needed, in a couple 
of days, but meanwhile, some of those commenters may find 
something to think about (w.r.t. to claims or "deductions" they 
have made about (their) perceived meaning of my original post), 
in this article, an interview of me from over a year ago:


https://www.blog.pythonlibrary.org/2015/05/18/pydev-of-the-week-vasudev-ram/

In particular, pay specific attention to my replies to the 
interviewer about favorite  programming languages, and see how 
well (not!) that correlates with claims or "deductions" that you 
made here.




Re: Chennai D Meetup April 22: Introducing D, Rust, and Swift

2017-04-22 Thread Vasudev Ram via Digitalmars-d-announce

On Saturday, 22 April 2017 at 09:42:47 UTC, Chennai Danatic wrote:


Hi, can we attend remotely via the Net?

- Vasudev


I have posted a Hangouts link in the comments at the main 
Meetup page above, let's try that.  Only the Rust talk will be 
streamed, as it's coming from Bengaluru already.


Thanks, will check that.



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

2017-04-22 Thread Vasudev Ram via Digitalmars-d


On Saturday, 22 April 2017 at 17:37:13 UTC, Vasudev Ram wrote:

I actually worked years ago, for a while, on a legacy banking 
software product written in C


In fact, that one was in Microsoft C for DOS 3.0 ... !!! :)

I actually also worked some years later on another product in C, 
which had some similar issues (but turned out quite well in the 
end, after I got involved with it as the team leader), but that 
was on Windows, and is another story, maybe will tell it some 
time later ...





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

2017-04-22 Thread Vasudev Ram via Digitalmars-d

On Saturday, 22 April 2017 at 08:33:04 UTC, Russel Winder wrote:
On Fri, 2017-04-21 at 21:20 -0700, Jonathan M Davis via 
Digitalmars-d wrote:



[…]
I've never heard of anyone doing anything like this in any 
language.
Normally, you'd just say that someone is a D programmer or a 
C++

programmer
or a Java Programmer, etc. But then again, I come from a C++
background, not
a scripting language background, and the folks who primarily 
use

scripting
languages often tend to look at things differently.



I guess most people using scripting languages are just Bashing 
things together.


;-)



Awk! What you sed? ;)


just Bashing things together


Nice joke, but not necessarily true in reality. There could be 
people writing good solid code in scripting languages and the 
reverse in compiled ones too - in fact I've seen code of some 
very poor (in quality and knowledge) C developers, who know very 
little of the ins and outs of the language (pointers and memory 
management in particular, but other areas too). That's one of the 
reasons why we have so many buffer overflows and exploits, though 
of course, I acknowledge, it's not easy to write perfect C code 
that does not have those issues. I actually worked years ago, for 
a while, on a legacy banking software product written in C - in 
maintenance mode - after almost all the original developer team 
had left the company. Saw some really bad code. Variables like 
zzy123 were the least of it ... Not a reflection on the language 
at all, only on those developers.







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

2017-04-22 Thread Vasudev Ram via Digitalmars-d

On Saturday, 22 April 2017 at 08:30:03 UTC, Russel Winder wrote:
On Fri, 2017-04-21 at 17:20 +, 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 ...





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

2017-04-22 Thread Vasudev Ram via Digitalmars-d
On Saturday, 22 April 2017 at 04:20:40 UTC, Jonathan M Davis 
wrote:
On Friday, April 21, 2017 17:20:14 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.

Interested to know, just for fun ...

I do realize that there may not be commonly known or accepted 
terms like this for all languages. For example, I don't know 
if there is such a term for a C or C++ developer. Might make 
for an interesting thread.


I've never heard of anyone doing anything like this in any 
language. Normally, you'd just say that someone is a D 
programmer or a C++ programmer or a Java Programmer, etc. But 
then again, I come from a C++ background, not a scripting 
language background, and the folks who primarily use scripting 
languages often tend to look at things differently.


- Jonathan M Davis


I gave the examples of the terms Pythonista and Rubyist right in 
the message subject. You personally might not have heard of them 
or similar ones, as you say. But others have. Those terms are 
used somewhat widely [1] - "Pythonista" is often by Python 
programmers to refer to themselves (sometimes Pythoneer is used), 
and "Rubyist" is often used by Ruby programmers to refer to 
themselves (individually or collectively, as in, "I'm a 
Pythonista" (sometimes seen on blogs' About pages or Twitter or 
LinkedIn bios) or "(us/as) Pythonistas" and other variations of 
the same. Ditto for Rubyists. Another example I've seen used is 
Lisper (and Lisp is both a compiled and interpreted language - so 
it's not like such a term is restricted only to scripting or 
interpreted languages).


[1] Using the word "widely" anecdotally, of course - obviously 
I've not done a survey on something as trivial as this - it's 
just that I've been in the field for quite a while, working, 
interacting with people, reading forums, etc. - and have noticed 
it used quite often. And I've used Ruby for a few years and 
Python for many years now, both of them in commercial projects, 
Python in commercial training that I give, as well as for my own 
personal projects (mainly Python only).


Secondly, using those terms does not mean they are formal 
designations of any kind. They are just casual terms that someone 
must have initially made up and that others caught on to and 
started using, to describe themselves and their community - i.e. 
Python or Ruby _users_, not all of whom are necessarily users of 
those languages _alone. Plenty of Python and Ruby developers use 
other languages too, including compiled / statically typed ones, 
like C, C++, Java, etc. I am one of them, in fact - I've used 
both C (and on DOS, Windows and Unix, a lot) and Pascal (Turbo 
Pascal a lot, Delphi some) earlier, Java some too. (See my other 
reply upcoming after this one - to Russel Winder). In general, 
those terms are not meant to be either pejorative or the reverse 
of pejorative, although some people may of course use the terms 
disparagingly, self-glorifyingly or whatever.



But then again, I come from a C++ background, not a scripting
language background, and the folks who primarily use scripting 
languages often tend to look at things differently.


Yes, if a person comes from only (either) one of those 
backgrounds - then they are more likely to look at things 
differently. But there are lots of people who have backgrounds in 
both (scripting/interpreted and compiled), and some have a lot of 
background in both, too.





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

2017-04-21 Thread Vasudev Ram via Digitalmars-d

On Friday, 21 April 2017 at 19:26:34 UTC, Moritz Maxeiner wrote:

On Friday, 21 April 2017 at 17:20:14 UTC, Vasudev Ram 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.

Interested to know, just for fun ...

I do realize that there may not be commonly known or accepted 
terms like this for all languages. For example, I don't know 
if there is such a term for a C or C++ developer. Might make 
for an interesting thread.


Cheers,
Vasudev
Site: https://vasudevram.github.io
Dlang posts: https://jugad2.blogspot.com/search/label/dlang
Python posts: https://jugad2.blogspot.com/search/label/python


Twixt the denizens of development dwell more than dastards and 
demons,

not just disciples and deliverers: Dreamers!


Duh.

Deity. Disciples. Denizens. Dastards. Demons. Deliverers. 
Dreamers.


Dis thread seems to be doing well, wonder what de devil it will 
be like in hell.




De D dev session seems to be doing dandy, danke, D team, cause 
dat's handy.


Ctrl-D




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

2017-04-21 Thread Vasudev Ram via Digitalmars-d

On Friday, 21 April 2017 at 17:29:37 UTC, ketmar wrote:

Vasudev Ram 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.

Interested to know, just for fun ...

I do realize that there may not be commonly known or accepted 
terms like this for all languages. For example, I don't know 
if there is such a term for a C or C++ developer. Might make 
for an interesting thread.


we are usually called "programmers".


That one was obvious, and same for C, C++ or any other language 
too. I meant if there was a nickname of some sort, like 
Pythonista or Rubyist, as said in subject.




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

2017-04-21 Thread Vasudev Ram via Digitalmars-d

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.

Interested to know, just for fun ...

I do realize that there may not be commonly known or accepted 
terms like this for all languages. For example, I don't know if 
there is such a term for a C or C++ developer. Might make for an 
interesting thread.


Cheers,
Vasudev
Site: https://vasudevram.github.io
Dlang posts: https://jugad2.blogspot.com/search/label/dlang
Python posts: https://jugad2.blogspot.com/search/label/python




Re: Chennai D Meetup April 22: Introducing D, Rust, and Swift

2017-04-21 Thread Vasudev Ram via Digitalmars-d-announce

On Thursday, 13 April 2017 at 14:10:13 UTC, Chennai Danatic wrote:

Please RSVP if you plan to attend:

https://www.meetup.com/Chennai-D/events/238949573/?showDescription=true

Btw, Chennai, a large port city in South India, now has the 
most members of any D Meetup group, passing even Silicon Valley:


https://www.meetup.com/topics/dpl/

Not a big deal, since many people sign up on Meetup and don't 
do anything, but shows interest in D is there.


Hi, can we attend remotely via the Net?

- Vasudev



Re: How to continue after the book?

2017-04-13 Thread Vasudev Ram via Digitalmars-d-learn

On Tuesday, 28 March 2017 at 07:27:31 UTC, I Lindström wrote:
After getting the basics down, how did you continue when 
learning programming in general?


Many other good suggestions here already.

1. Another idea: pick some small tools or utilities that you 
would like to create, and write them in D. (And another - start 
writing small parts of your planned app in D, using the knowledge 
from the book you read. Learn more bits of D as needed, and use 
that to implement more parts of the app.)


2. Along the lines of JamesD's link below, here are some small D 
example programs from my blog, but complementary to his, since 
these are mostly command-line ones (at the time of writing this).


https://jugad2.blogspot.com/search/label/DLang [1]

There are few posts at the above link that do not have actual 
code examples, such as a few D videos etc. View or skip those as 
you wish.


Here are the post titles so you can get an idea of what examples 
are there:


Porting the text pager from Python to D (DLang)

Simple parallel processing in D with std.parallelism

Using std.datetime.StopWatch to time sections of D code

Read from CSV with D, write to PDF with Python

Command line D utility - find files matching a pattern under a 
directory


min_fgrep: minimal fgrep command in D

num_cores: find number of cores in your PC's processor

Calling a simple C function from D - strcmp

Func-y D + Python pipeline to generate PDF

file_sizes utility in D: print sizes of all files under a 
directory tree


deltildefiles: D language utility to recursively delete vim 
backup files


[DLang]: A simple file download utility in D

Getting CPU info with D (the D language)

All of those posts are available at the link marked [1] above.

HTH,
Vasudev
---
Vasudev Ram
Site: https://vasudevram.github.io
Blog: https://jugad2.blogspot.com



Re: Request for conference talk

2017-04-11 Thread Vasudev Ram via Digitalmars-d

On Monday, 10 April 2017 at 07:32:15 UTC, qznc wrote:

And accepted :)
https://www.topconf.com/conference//duesseldorf-2017/talk/abstractions-from-c-to-d/
Abstractions: From C to D


That talk sounds interesting. If the slides and/or video are 
available after the conf, please post about it here.





Porting a text pager from Python to D (DLang)

2017-04-11 Thread Vasudev Ram via Digitalmars-d

Hi list,

I had written this recently. Thought it might be of interest:

Porting the text pager from Python to D (DLang):

https://jugad2.blogspot.in/2017/04/porting-text-pager-from-python-to-d.html

Cheers,
Vasudev Ram
Site: vasudevram.github.io
Blog: jugad2.blogspot.com



Re: D at Netflix

2017-04-11 Thread Vasudev Ram via Digitalmars-d

On Sunday, 9 April 2017 at 14:38:43 UTC, Laeeth Isharc wrote:
On the reddit or Hacker News thread (congratulations on getting 
approval from Symantec - v exciting) there was a guy from 
Netflix who said he was using D there, I think for data science.


If he reads this, or someone has time to contact him, would be 
great to have their approval to add them to organisations using 
D as Netflix seems to be well thought of technically.  It was a 
great idea also to put this on the front page, because as 
Andrei said people use heuristics to avoid having to look into 
a new language and the fact large enterprises do use D makes 
one common selling objection go away.



Laeeth


He said he was using it at Netflix for machine learning, 
actually. And he commented in reply this comment of mine (in that 
same HN thread about DMD now being fully open source):


https://news.ycombinator.com/item?id=14063413

in which I linked to this earlier Ask HN by me:

Ask HN: What are you using D (language) for?
https://news.ycombinator.com/item?id=12193828

There were some interesting replies about how people were using D 
in that thread.





Re: How can D Forum load so fast?

2017-03-10 Thread Vasudev Ram via Digitalmars-d

On Friday, 10 March 2017 at 13:57:06 UTC, Vasudev Ram wrote:

On Friday, 10 March 2017 at 07:51:30 UTC, Anon wrote:
The whole webpage https://forum.dlang.org/ has only 300KB in 
size. It not only supports mobile devices, but also loads much 
faster than general modern web pages.


How can they achieve such result?


I think (not verified scientifically) that it is due to the 
forum software (DFeed) being written in D and hence compiled,


Just remembered - the "About this forum" link at the bottom of D 
forum pages (like this one) is where I read what I said in my 
previous post.


https://forum.dlang.org/help#about





Re: How can D Forum load so fast?

2017-03-10 Thread Vasudev Ram via Digitalmars-d

On Friday, 10 March 2017 at 07:51:30 UTC, Anon wrote:
The whole webpage https://forum.dlang.org/ has only 300KB in 
size. It not only supports mobile devices, but also loads much 
faster than general modern web pages.


How can they achieve such result?


I think (not verified scientifically) that it is due to the forum 
software (DFeed) being written in D and hence compiled, vs. a lot 
of other forum software that may be written in interpreted 
languages. I too have noticed its speed. Plus of course, all the 
points that others have said about a lot of extra stuff on other 
sites, like 2 MB pages, JS, video, ads, trackers, etc. I also 
read somewhere that DFeed is open source, so anyone who wants to 
study it, can do so. If I ever setup a forum, I'll try using 
DFeed for it.




Re: PDF generation in D?

2016-11-22 Thread Vasudev Ram via Digitalmars-d

On Tuesday, 22 November 2016 at 18:49:51 UTC, Vasudev Ram wrote:


- check out libharu - it is an open source C library for PDF


P.S. I just saw here:

http://code.dlang.org/packages/fpdf

that they say "If you don't need to be able to import PDFs, you 
may want to check out harud"  - which by the name is probably a D 
wrapper for libharu.





Re: PDF generation in D?

2016-11-22 Thread Vasudev Ram via Digitalmars-d

On Thursday, 10 November 2016 at 22:30:34 UTC, Karabuta wrote:
Hello community, does anyone have on something for PDF 
generation in D? I may need a PDF generation library in a 
vibe.d project I'm working on. :)


Hi,

I did read all the replies posted up to now. Posting a few 
alternative methods I thought of, some of which involve calling C 
libraries from D - not sure how suitable they will be for your 
specific needs, some checking will be required:


- check out libharu - it is an open source C library for PDF 
generation. If you can call it from D, it may work for your needs.


http://libharu.org/ . Libharu needs a new maintainer now, but the 
site says it still works.


- check out PDFlib(.com). PDFlib is a paid product, and the core 
is a C library. However it has an open source version IIRC, and 
may be free for personal use (not sure if you want this for 
personal or commercial use). Again, would need to call it's (C) 
functions from D. PDFlib is a mature product which has been 
around for many years. It also has binding to some other 
languages.


(I've tried both the above libs at least a bit, and they do work.)

- this one is an obvious, though roundabout method: if the D- and 
C-based ones are not suitable for whatever reason, there are 
generic methods applicable to calling (a program that uses) a 
PDF-generation library (or any library for that matter) in any 
other language, such as via XML-RPC (if D has a client library 
for that, or if D can call a C client XML-RPC library), REST or 
sockets.


- an even simpler method than above (though, of course, less 
efficient for multiple calls) may be to shell out to some 
executable [1] written in another language which has a PDF 
generation library, pass the necessary inputs on the command line 
(as command-line options,  an input file name, and an output PDF 
filename.


[1] By executable here, I don't only mean a compiled user 
executable such as a C or C++ or Java app. It could also be a 
call to a language interpreter (the executable) taking a script 
in that language, as an argument to run, and the script name 
could be followed by arguments for the script itself (e.g. python 
pdf_gen_prog.py arg1 arg2 ...) . Using this approach, for 
example, one could shell out to Python, run a Python script that 
uses ReportLab, and use that to do the job, since ReportLab is 
fairly powerful for PDF generation, though a bit low-level. 
However, it does have things like Paragraphs, Stories, Styles, 
and Platypus which are a bit higher-level. And if your PDF output 
involves only text (i.e. no images, charts, varying fonts, etc.), 
then you can even consider shelling out to a Python program you 
write, that uses xtopdf - which is my PDF generation toolkit 
written in Python, which uses ReportLab internally, and provides 
a somewhat higher abstraction for a subset of ReportLab's 
functionality, namely generation of text-only line-oriented PDF 
output, with automatic headers, footers, page numbering and 
pagination). xtopdf is quite easy to use: With low-level 
Reportlab features, you have to write your PDF generation logic 
in terms of operations on a Canvas object, not lines of text, so 
you have to say things like writeString(x, y, string), and 
calculate each x and y, reset the font to the same value after 
each new page (a limitation), but with xtopdf you get the higher 
level abstraction of something like a text file (a PDFWriter 
object), and you just write lines of text to the PDFWriter object 
using its writeLine(string) method, until you are done. Just have 
to set the header and footer and font once, first (3 lines for 
that). Total for a simple file is under 10 or so lines of Python 
code, to generate a PDF from text input, using xtopdf - with some 
amount of simple customized formatting of the text possible, in 
terms of left-or-right-justifying, centering, etc., using 
Python's easy string handling, with a few more lines of code.


ReportLab main site: http://reportlab.com

ReportLab open source version: http://reportlab.com/ftp

Good high-level overview of xtopdf: 
http://slides.com/vasudevram/xtopdf (including uses, users, 
supported input formats, supported platforms, example programs, 
etc.)


xtopdf on Bitbucket: https://bitbucket.org/vasudevram/xtopdf

xtopdf examples on my blog: 
http://jugad2.blogspot.com/search/label/xtopdf


Guide to installing and using xtopdf:

http://jugad2.blogspot.in/2012/07/guide-to-installing-and-using-xtopdf.html

HTH,
Vasudev
jugad2.blogspot.com
vasudevram.github.io