Re: Python : Pythonista / Ruby: Rubyist : / 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
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 : ?
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 : ?
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 : ?
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 : ?
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 : ?
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 : ?
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 : ?
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
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?
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
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)
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
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?
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?
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?
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?
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