www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Future(s) for D.

reply "weaselcat" <weaselcat gmail.com> writes:
I recently read this facebook post on their future implementation 
in their Folly library.

https://code.facebook.com/posts/1661982097368498

This made me slightly envious. Thoughts on a D implementation?
Jun 20 2015
next sibling parent reply "Dragos Carp" <dragoscarp gmail.com> writes:
On Saturday, 20 June 2015 at 12:35:11 UTC, weaselcat wrote:
 I recently read this facebook post on their future 
 implementation in their Folly library.

 https://code.facebook.com/posts/1661982097368498

 This made me slightly envious. Thoughts on a D implementation?
Even if the callbacks are sequentially listed, the "callback hell" is still there. A better solution is to use fibers. You can take a look at a fibers[1] and tasks[2] implementation in asynchronous library[3]. [1] - https://github.com/dcarp/asynchronous/blob/master/src/asynchronous/futures.d [2] - https://github.com/dcarp/asynchronous/blob/master/src/asynchronous/tasks.d [3] - http://code.dlang.org/packages/asynchronous
Jun 20 2015
parent reply "Etienne" <etcimon gmail.com> writes:
On Saturday, 20 June 2015 at 13:33:34 UTC, Dragos Carp wrote:
 On Saturday, 20 June 2015 at 12:35:11 UTC, weaselcat wrote:
 I recently read this facebook post on their future 
 implementation in their Folly library.

 https://code.facebook.com/posts/1661982097368498

 This made me slightly envious. Thoughts on a D implementation?
Even if the callbacks are sequentially listed, the "callback hell" is still there. A better solution is to use fibers. You can take a look at a fibers[1] and tasks[2] implementation in asynchronous library[3]. [1] - https://github.com/dcarp/asynchronous/blob/master/src/asynchronous/futures.d [2] - https://github.com/dcarp/asynchronous/blob/master/src/asynchronous/tasks.d [3] - http://code.dlang.org/packages/asynchronous
Yep, looks like we already have better. I don't understand how D hasn't fully picked up in Web Dev at this point. Are they expecting an e-commerce/blogging/cms platform to go with it?
Jun 20 2015
next sibling parent reply ketmar <ketmar ketmar.no-ip.org> writes:
On Sat, 20 Jun 2015 14:00:47 +0000, Etienne wrote:

 Yep, looks like we already have better. I don't understand how D hasn't
 fully picked up in Web Dev at this point. Are they expecting an
 e-commerce/blogging/cms platform to go with it?
D is just not ugly enough. the key to be popular (not only in webdev) is=20 to make tech dumb, ugly, bloated, slow, inconsistent. choose any three or=20 more.=
Jun 20 2015
parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On 06/20/2015 11:12 AM, ketmar wrote:
 On Sat, 20 Jun 2015 14:00:47 +0000, Etienne wrote:

 Yep, looks like we already have better. I don't understand how D hasn't
 fully picked up in Web Dev at this point. Are they expecting an
 e-commerce/blogging/cms platform to go with it?
D is just not ugly enough. the key to be popular (not only in webdev) is to make tech dumb, ugly, bloated, slow, inconsistent. choose any three or more.
Dangit, I was just gonna post the same thing :) More seriously though (and this may sound like cynicism, but in my observation it really is true), webdev (and often computing in general) is all about fashion and "buzz". Merit has very little to do with it. Making it big in this arena isn't about being the best, or even necessarily being good. That's been proven time and time again. It's about winning a popularity contest. So that's what's needed. I don't think there's any sure-fire way to pull that off, it's something that differs in each case, and requires hitting just the right variables, often by pure chance. But something that typically seems to help is a big killer app (ex, facebook has been a major reason why people continued to choose PHP even *after* PHP became known-bad and facebook moved to hiphop), or some other one-liner buzzworthy note (ex: "Go comes from Google"). Of course, catering to the lazy and the inexperienced also seems to help a lot on the web, too. I think that explains why so many of biggest languages there are the ones have ex., no static typing, implicit variable declarations, etc. D by contrast is a known static-typed language, and C/C++/Java have ruined the "street cred" of static typing. Dynamic is the greasers, and static is the nerd with taped-glasses and pocket protector. Same goes for with whitespace-based syntax versus semicolons/braces. So right there, D already has an uphill battle trying to be "sexy". And "sexy" is exactly the one thing that wins over most of the people in the tech world these days. (Well, inertia counts for a lot of people, too. Hence the Java houses, C++, cobol, and such at some of the mega-corporations and companies in the more conservative industries.)
Jun 20 2015
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
On Sat, 20 Jun 2015 12:23:59 -0400, Nick Sabalausky wrote:

yes. and another thing (which is tied to "popularity", though) is the=20
question: how many developers are here to hire for XYZ?

let's compare numbers for php, java, ruby, js -- and D. most companies=20
will not bet on language for which a pool of "hireable" developers is=20
small. and it's understandable: two developers quit, and the project is=20
dead, doomed to complete rewrite in another language. sheesh!=
Jun 20 2015
parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On 06/20/2015 12:34 PM, ketmar wrote:
 On Sat, 20 Jun 2015 12:23:59 -0400, Nick Sabalausky wrote:

 let's compare numbers for php, java, ruby, js -- and D. most companies
 will not bet on language for which a pool of "hireable" developers is
 small. and it's understandable: two developers quit, and the project is
 dead, doomed to complete rewrite in another language. sheesh!
Well, not really. I mean, managers and HR all *believe* that to be so. But that's because pretty much all non-programmers, even ones in the software dev industry who really should know better, are stuck in this bizarre idea that programming skills are somehow non-transferable between languages. Which is obviously total bullcrap, but try explaining that to self-assured HR folk and other pointy-hairs. Hell, my first introduction to JS, ASP (yea, it was a long time ago) and web-dev in general was on-the-job as a fresh hire, and I was up to speed in like a week or so, if even that. The one thing relevant here that has *never* left my mind: http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html Favorite part: "The recruiters-who-use-grep, by the way, are ridiculed here, and for good reason. I have never met anyone who can do Scheme, Haskell, and C pointers who can't pick up Java in two days, and create better Java code than people with five years of experience in Java, but try explaining that to the average HR drone." So true.
Jun 20 2015
next sibling parent reply ketmar <ketmar ketmar.no-ip.org> writes:
On Sat, 20 Jun 2015 13:10:26 -0400, Nick Sabalausky wrote:

 Well, not really. I mean, managers and HR all *believe* that to be so.
 But that's because pretty much all non-programmers, even ones in the
 software dev industry who really should know better, are stuck in this
 bizarre idea that programming skills are somehow non-transferable
 between languages. Which is obviously total bullcrap, but try explaining
 that to self-assured HR folk and other pointy-hairs.
i completely agree with you once again. ;-)
 Hell, my first introduction to JS, ASP (yea, it was a long time ago) and
 web-dev in general was on-the-job as a fresh hire, and I was up to speed
 in like a week or so, if even that.
the same was happened to me when i was hired to do JavaME developement.=20 that was the first time i have to do anything with Java, yet i managed to=20 reach higher speed and quality that some of employer's existing "Java=20 specialists". not 'cause i'm so brilliant, but 'cause i have a general=20 programming experience, and learning new syntax and consulting dox on=20 standard libraries aren't that hard. oh, well, i repeated Joel almost literally here. ;-)=
Jun 20 2015
parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On 06/20/2015 01:24 PM, ketmar wrote:
 oh, well, i repeated Joel almost literally here. ;-)
That dude knows his stuff ;)
Jun 20 2015
prev sibling next sibling parent reply =?UTF-8?Q?Tobias=20M=C3=BCller?= <troplin bluewin.ch> writes:
Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> wrote:
 On 06/20/2015 12:34 PM, ketmar wrote:
 On Sat, 20 Jun 2015 12:23:59 -0400, Nick Sabalausky wrote:
 
 let's compare numbers for php, java, ruby, js -- and D. most companies
 will not bet on language for which a pool of "hireable" developers is
 small. and it's understandable: two developers quit, and the project is
 dead, doomed to complete rewrite in another language. sheesh!
 
Well, not really. I mean, managers and HR all *believe* that to be so. But that's because pretty much all non-programmers, even ones in the software dev industry who really should know better, are stuck in this bizarre idea that programming skills are somehow non-transferable between languages. Which is obviously total bullcrap, but try explaining that to self-assured HR folk and other pointy-hairs. Hell, my first introduction to JS, ASP (yea, it was a long time ago) and web-dev in general was on-the-job as a fresh hire, and I was up to speed in like a week or so, if even that. The one thing relevant here that has *never* left my mind: http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html Favorite part: "The recruiters-who-use-grep, by the way, are ridiculed here, and for good reason. I have never met anyone who can do Scheme, Haskell, and C pointers who can't pick up Java in two days, and create better Java code than people with five years of experience in Java, but try explaining that to the average HR drone." So true.
But do you also think that the average java code monkey will pick up D equally fast? For many programmers, programming is just a job, not more. They don't program in their spare time and are not really interested in programming languages as you are. Java is a very simple language. That means if you're a power user, you will be limited by that, but as an average programmer this means you can understand code written by others. D on the other hand is a quite complex language. You can write nice and concise code in D, but that doesn't mean that the language is simple.
Jun 21 2015
next sibling parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On 06/21/2015 09:24 AM, Tobias Müller wrote:
 But do you also think that the average java code monkey will pick up D
 equally fast?
Well, I don't believe the average java code monkey is an asset to ANY company, merely a liability.
Jun 21 2015
prev sibling parent reply ketmar <ketmar ketmar.no-ip.org> writes:
On Sun, 21 Jun 2015 13:24:14 +0000, Tobias M=C3=BCller wrote:

 For many programmers, programming is just a job, not more. They don't
 program in their spare time and are not really interested in programming
 languages as you are.
that people called "code monkeys", not "programmers". it's simply=20 impossible to be a programmer without a passion to learn things. not=20 'cause "well, if i learn XYZ i will be promoted to better job and will=20 get more money", but 'cause "hey, that's *interesting*! i may never use=20 that in my job (this is usually wrong), but it's so interesting that i=20 can't pass it by!" code monkeys are good when there is a need in writing boilerplate code,=20 but they are bad for solving problems. not necessarily 'cause they're=20 dumb, they simply not interested in problem solving.=
Jun 23 2015
next sibling parent reply "Laeeth Isharc" <laeethnospam nospamlaeeth.com> writes:
Chris wrote:
"This already started in the 1990ies and got worse and worse, 
this business of looking for the "perfect" candidate. A lot of 
skills can be acquired in the first weeks (or months, depending). 
It's better to train someone who's intelligent and innovative 
than someone who's worked with all IDEs and build systems, but is 
fairly un-innovative (problem => for loop)."

I agree with you, although I don't know how many others would.  
And not all people are equally gifted in picking things up - it's 
ability, but also character since when many people get to a 
certain level of accomplishment they get addicted to the feeling 
of comfort and would rather die than truly push themselves when 
they don't know how it will turn out.

On Tuesday, 23 June 2015 at 18:15:47 UTC, ketmar wrote:
 For many programmers, programming is just a job, not more. 
 They don't program in their spare time and are not really 
 interested in programming languages as you are.
that people called "code monkeys", not "programmers". it's simply impossible to be a programmer without a passion to learn things. not 'cause "well, if i learn XYZ i will be promoted to better job and will get more money", but 'cause "hey, that's *interesting*! i may never use that in my job (this is usually wrong), but it's so interesting that i can't pass it by!" code monkeys are good when there is a need in writing boilerplate code, but they are bad for solving problems. not necessarily 'cause they're dumb, they simply not interested in problem solving.
Yes - the intriguing thing is that this trend has gone so far that good people and mediocre people are the same price if they look similar on paper (from what I have seen). In fact you may be able to hire someone good for less than someone mediocre since they are less tolerant of a bad working environment and want to work on something that inspires them (whereas the average person lacks imagination to see what might come out of the ordinary-looking seeds of today) . As an entrepreneur, this is one of the biggest arbitrages for many years, I think - provided you are able to tell good from mediocre (or to put it charitably, top notch from merely solid). https://www.quora.com/Why-does-D-E-Shaw-pay-young-Harvard-and-MIT-graduates-over-200-000-per-year-right-out-of-college/answer/Laeeth-Isharc This isn't technology specific, but it fits with what I have heard from talking to people who are in that very specific field. I think that's what the Quora guys mean when they talk of 10x programmers, but it's not at all the description or way of thinking I would apply, since obviously it puts the emphasis on measuring what is not so easy to measure. At my (now defunct - a different story) previous startup fund, we had 1200 applications for 2 junior jobs - that's a lot, even limiting it to the serious candidates. And they all look great on paper, and one couldn't possibly even call them all. (For this role, I was more concerned about missing someone amazing than making the wrong hire - not the normal corporate priorities). So I wrote an Oxbridge style applied economics open-ended question. Most of the perfect candidates on paper just regurgitated what they read in the FT; a few didn't and actually thought about it. And the girl that got the job spent 45 hours writing her paper, which was more useful than the stuff you would get from a 40 year old seasoned guy. No way would we have found her had we had an HR department (or rather had we let HR 'help' us). For technology, it's different, but I think the same way of thinking may prove useful. And if/when I need a tech guy to help me, it's a nobrainer to ask here because of the quality of the people. Although that is not why I am here.
Jun 23 2015
parent reply "Chris" <wendlec tcd.ie> writes:
On Tuesday, 23 June 2015 at 19:01:08 UTC, Laeeth Isharc wrote:
 Chris wrote:
 "This already started in the 1990ies and got worse and worse, 
 this business of looking for the "perfect" candidate. A lot of 
 skills can be acquired in the first weeks (or months, 
 depending). It's better to train someone who's intelligent and 
 innovative than someone who's worked with all IDEs and build 
 systems, but is fairly un-innovative (problem => for loop)."

 I agree with you, although I don't know how many others would.  
 And not all people are equally gifted in picking things up - 
 it's ability, but also character since when many people get to 
 a certain level of accomplishment they get addicted to the 
 feeling of comfort and would rather die than truly push 
 themselves when they don't know how it will turn out.

 On Tuesday, 23 June 2015 at 18:15:47 UTC, ketmar wrote:
 For many programmers, programming is just a job, not more. 
 They don't program in their spare time and are not really 
 interested in programming languages as you are.
that people called "code monkeys", not "programmers". it's simply impossible to be a programmer without a passion to learn things. not 'cause "well, if i learn XYZ i will be promoted to better job and will get more money", but 'cause "hey, that's *interesting*! i may never use that in my job (this is usually wrong), but it's so interesting that i can't pass it by!" code monkeys are good when there is a need in writing boilerplate code, but they are bad for solving problems. not necessarily 'cause they're dumb, they simply not interested in problem solving.
Yes - the intriguing thing is that this trend has gone so far that good people and mediocre people are the same price if they look similar on paper (from what I have seen). In fact you may be able to hire someone good for less than someone mediocre since they are less tolerant of a bad working environment and want to work on something that inspires them (whereas the average person lacks imagination to see what might come out of the ordinary-looking seeds of today) . As an entrepreneur, this is one of the biggest arbitrages for many years, I think - provided you are able to tell good from mediocre (or to put it charitably, top notch from merely solid). https://www.quora.com/Why-does-D-E-Shaw-pay-young-Harvard-and-MIT-graduates-over-200-000-per-year-right-out-of-college/answer/Laeeth-Isharc This isn't technology specific, but it fits with what I have heard from talking to people who are in that very specific field. I think that's what the Quora guys mean when they talk of 10x programmers, but it's not at all the description or way of thinking I would apply, since obviously it puts the emphasis on measuring what is not so easy to measure. At my (now defunct - a different story) previous startup fund, we had 1200 applications for 2 junior jobs - that's a lot, even limiting it to the serious candidates. And they all look great on paper, and one couldn't possibly even call them all. (For this role, I was more concerned about missing someone amazing than making the wrong hire - not the normal corporate priorities). So I wrote an Oxbridge style applied economics open-ended question. Most of the perfect candidates on paper just regurgitated what they read in the FT; a few didn't and actually thought about it. And the girl that got the job spent 45 hours writing her paper, which was more useful than the stuff you would get from a 40 year old seasoned guy. No way would we have found her had we had an HR department (or rather had we let HR 'help' us). For technology, it's different, but I think the same way of thinking may prove useful. And if/when I need a tech guy to help me, it's a nobrainer to ask here because of the quality of the people. Although that is not why I am here.
Good on you for doing that. I know from my own experience that people who are intelligent and inspired (i.e. willing to think and move things forward) can get up to speed very fast and make later valuable contributions to a team/project. I've found that this usually happens in small businesses or within small projects where resources are very limited and there is no HR involved. That said, there is of course the element of established and complacent people trying to keep out the intelligent and inspired crowd, because they think they are a threat to them, you know, those who make a career out of brown-nosing.
Jun 24 2015
next sibling parent reply "Chris" <wendlec tcd.ie> writes:
Speaking of which, just found this in a job add (no joke). Sure, 
who doesn't have all of these qualifications:

Required

     Doctorate Degree
     At least 5 years experience in the areas of information 
extraction and machine learning
     At least 1 year experience in publication in top-tier 
research conferences and journals
     At least 3 years experience in programming in Java and C++
     At least 1 year experience in open source NLP tools (i.e., 
Stanford NLP, OpenNLP)
     English: Fluent


Preferred

     At least 1 year experience in one of the following domains: 
question answering, textual entailment, machine reading
     At least 1 year experience in software engineering
     At least 6 months experience in experience with speech 
processing
Jun 24 2015
parent reply =?UTF-8?B?TWFydGluIERyYcWhYXI=?= via Digitalmars-d writes:
Dne 24.6.2015 v 11:07 Chris via Digitalmars-d napsal(a):
 Speaking of which, just found this in a job add (no joke). Sure, who
 doesn't have all of these qualifications:
=20
 Required
=20
     Doctorate Degree
     At least 5 years experience in the areas of information extraction
 and machine learning
     At least 1 year experience in publication in top-tier research
 conferences and journals
     At least 3 years experience in programming in Java and C++
     At least 1 year experience in open source NLP tools (i.e., Stanford=
 NLP, OpenNLP)
     English: Fluent
=20
=20
 Preferred
=20
     At least 1 year experience in one of the following domains: questio=
n
 answering, textual entailment, machine reading
     At least 1 year experience in software engineering
     At least 6 months experience in experience with speech processing
There are definitely people like this. If you focused your Ph.D. on machine learning, than you likely qualify for most of the requirements. Then again, there can just be an obligation to post this job add as a requirement for getting grant money for a project (many EU projects have this), but you have your own person in mind for the job, so you fit the add for her. Martin
Jun 24 2015
next sibling parent reply "Chris" <wendlec tcd.ie> writes:
On Wednesday, 24 June 2015 at 09:21:46 UTC, Martin Drašar wrote:

 There are definitely people like this. If you focused your 
 Ph.D. on machine learning, than you likely qualify for most of 
 the requirements.

 Then again, there can just be an obligation to post this job 
 add as a requirement for getting grant money for a project 
 (many EU projects have this), but you have your own person in 
 mind for the job, so you fit the add for her.

 Martin
Sure, this smells like a job description tailor made for someone they already have in mind. However, I wonder what "experience" means. "Yeah, I've played around with Java and C++" or "I'm really into the two languages and know them very well". People who do research for their PhD in computational linguistics are often _familiar_ with programming languages but not necessarily to a degree that allows them to write real world production code, because it is very hard to excel in programming, data algorithms, NLP and academic research (literature review, writing the PhD) at the same time.
Jun 24 2015
parent reply =?UTF-8?B?TWFydGluIERyYcWhYXI=?= via Digitalmars-d writes:
Dne 24.6.2015 v 14:15 Chris via Digitalmars-d napsal(a):
 Sure, this smells like a job description tailor made for someone they
 already have in mind. However, I wonder what "experience" means. "Yeah,=
 I've played around with Java and C++" or "I'm really into the two
 languages and know them very well". People who do research for their Ph=
D
 in computational linguistics are often _familiar_ with programming
 languages but not necessarily to a degree that allows them to write rea=
l
 world production code, because it is very hard to excel in programming,=
 data algorithms, NLP and academic research (literature review, writing
 the PhD) at the same time.
If you let researchers write production code, you are asking for troubles. And that comes from someone who is doing research, is a programming enthusiast and had programming as a day job for some time. If I made such job add, the most important for me would be the ML experience and publication skills. This is something you can't teach in a short time. As for the rest of it - it would be good enough that the candidates would not hurt themselves while using those tools and languages. At least there will be less unlearning to do... Martin
Jun 24 2015
parent "Chris" <wendlec tcd.ie> writes:
On Wednesday, 24 June 2015 at 13:04:29 UTC, Martin Drašar wrote:
 Dne 24.6.2015 v 14:15 Chris via Digitalmars-d napsal(a):
 Sure, this smells like a job description tailor made for 
 someone they already have in mind. However, I wonder what 
 "experience" means. "Yeah, I've played around with Java and 
 C++" or "I'm really into the two languages and know them very 
 well". People who do research for their PhD in computational 
 linguistics are often _familiar_ with programming languages 
 but not necessarily to a degree that allows them to write real 
 world production code, because it is very hard to excel in 
 programming, data algorithms, NLP and academic research 
 (literature review, writing the PhD) at the same time.
If you let researchers write production code, you are asking for troubles. And that comes from someone who is doing research, is a programming enthusiast and had programming as a day job for some time.
That's what I mean. You either program or you do research. If you do research, all programs are proofs-of-concept (with papers and journals in mind).
 If I made such job add, the most important for me would be the 
 ML experience and publication skills. This is something you 
 can't teach in a short time. As for the rest of it - it would 
 be good enough that the candidates would not hurt themselves 
 while using those tools and languages. At least there will be 
 less unlearning to do...

 Martin
Jun 24 2015
prev sibling parent "Adrian Matoga" <epi atari8.info> writes:
On Wednesday, 24 June 2015 at 09:21:46 UTC, Martin Drašar wrote:
 Then again, there can just be an obligation to post this job 
 add as a requirement for getting grant money for a project 
 (many EU projects have this), but you have your own person in 
 mind for the job, so you fit the add for her.
Confirmed, I've seen quite a few such ads for research positions in computer architecture written specifically for me or my colleagues.
Jun 25 2015
prev sibling parent "Laeeth Isharc" <nospamlaeeth nospam.laeeth.com> writes:
On Wednesday, 24 June 2015 at 09:01:47 UTC, Chris wrote:
 On Tuesday, 23 June 2015 at 19:01:08 UTC, Laeeth Isharc wrote:
 So I wrote an Oxbridge style applied economics open-ended 
 question.  Most of the perfect candidates on paper just 
 regurgitated what they read in the FT; a few didn't and 
 actually thought about it.  And the girl that got the job 
 spent 45 hours writing her paper, which was more useful than 
 the stuff you would get from a 40 year old seasoned guy.  No 
 way would we have found her had we had an HR department (or 
 rather had we let HR 'help' us).

 For technology, it's different, but I think the same way of 
 thinking may prove useful.  And if/when I need a tech guy to 
 help me, it's a nobrainer to ask here because of the quality 
 of the people.  Although that is not why I am here.
Good on you for doing that. I know from my own experience that people who are intelligent and inspired (i.e. willing to think and move things forward) can get up to speed very fast and make later valuable contributions to a team/project. I've found that this usually happens in small businesses or within small projects where resources are very limited and there is no HR involved.
*****
 That said, there is of course the element of established and 
 complacent people trying to keep out the intelligent and 
 inspired crowd, because they think they are a threat to them, 
 you know, those who make a career out of brown-nosing.
That's the beauty of making do with fewer resources than at a large firm - no politics, but on the other hand you really have to make the most of them. And the experience of even medium-sized firms that have that culture who try to start something new - both when it works and when it does not - seems to suggest you often need to adopt a skunk works type approach rather than try to integrate cultures.
Jun 24 2015
prev sibling parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On 06/23/2015 02:15 PM, ketmar wrote:
 On Sun, 21 Jun 2015 13:24:14 +0000, Tobias Müller wrote:

 For many programmers, programming is just a job, not more. They don't
 program in their spare time and are not really interested in programming
 languages as you are.
that people called "code monkeys", not "programmers". it's simply impossible to be a programmer without a passion to learn things. not 'cause "well, if i learn XYZ i will be promoted to better job and will get more money", but 'cause "hey, that's *interesting*! i may never use that in my job (this is usually wrong), but it's so interesting that i can't pass it by!"
Even that intrinsic passion in the field itself isn't strictly necessary to be a good programmer. I know that sounds wrong, but hear me out: All that's REALLY needed at the bare minimum is the basic integrity to say "If this is what I'm going to be working on, even if I'm only in it for the money, then goddammit I'm going to do the best job I can. Because this is the job I'm being paid to do." But a lot of the "code monkeys" can't even muster up that much.
Jun 23 2015
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
On Tue, 23 Jun 2015 15:04:49 -0400, Nick Sabalausky wrote:

 Even that intrinsic passion in the field itself isn't strictly necessary
 to be a good programmer. I know that sounds wrong, but hear me out: All
 that's REALLY needed at the bare minimum is the basic integrity to say
 "If this is what I'm going to be working on, even if I'm only in it for
 the money, then goddammit I'm going to do the best job I can. Because
 this is the job I'm being paid to do." But a lot of the "code monkeys"
 can't even muster up that much.
i must confess that i too cannot into such way thinking. that's why i=20 never took a job i'm not really interested in: it's simply unfair to take=20 employer's money if i'm not interested in result, an employer surely can=20 hire someone better.=
Jun 23 2015
parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On 06/23/2015 03:19 PM, ketmar wrote:
 On Tue, 23 Jun 2015 15:04:49 -0400, Nick Sabalausky wrote:

 Even that intrinsic passion in the field itself isn't strictly necessary
 to be a good programmer. I know that sounds wrong, but hear me out: All
 that's REALLY needed at the bare minimum is the basic integrity to say
 "If this is what I'm going to be working on, even if I'm only in it for
 the money, then goddammit I'm going to do the best job I can. Because
 this is the job I'm being paid to do." But a lot of the "code monkeys"
 can't even muster up that much.
i must confess that i too cannot into such way thinking. that's why i never took a job i'm not really interested in: it's simply unfair to take employer's money if i'm not interested in result, an employer surely can hire someone better.
Of course, that's also a form of respectable personal integrity, too. (one that a lot of people don't share - well, not that everyone always has the luxury of doing so, but still, it's a good attitude to have). And yea, naturally, personal interest does make it a lot easier to coax oneself to do a good job.
Jun 23 2015
prev sibling parent reply "Chris" <wendlec tcd.ie> writes:
On Saturday, 20 June 2015 at 17:10:27 UTC, Nick Sabalausky wrote:
 On 06/20/2015 12:34 PM, ketmar wrote:
 On Sat, 20 Jun 2015 12:23:59 -0400, Nick Sabalausky wrote:

 let's compare numbers for php, java, ruby, js -- and D. most 
 companies
 will not bet on language for which a pool of "hireable" 
 developers is
 small. and it's understandable: two developers quit, and the 
 project is
 dead, doomed to complete rewrite in another language. sheesh!
Well, not really. I mean, managers and HR all *believe* that to be so. But that's because pretty much all non-programmers, even ones in the software dev industry who really should know better, are stuck in this bizarre idea that programming skills are somehow non-transferable between languages. Which is obviously total bullcrap, but try explaining that to self-assured HR folk and other pointy-hairs. Hell, my first introduction to JS, ASP (yea, it was a long time ago) and web-dev in general was on-the-job as a fresh hire, and I was up to speed in like a week or so, if even that. The one thing relevant here that has *never* left my mind: http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html Favorite part: "The recruiters-who-use-grep, by the way, are ridiculed here, and for good reason. I have never met anyone who can do Scheme, Haskell, and C pointers who can't pick up Java in two days, and create better Java code than people with five years of experience in Java, but try explaining that to the average HR drone." So true.
Yeah. A guy I know had a hard time finding a job with Java. HR would always demand experience with this or that build tool and stuff like this. As if you couldn't learn this in a week or less, at least enough to be able to contribute to a project. Actual programming skills never seemed to be really important. Weird.
Jun 23 2015
next sibling parent reply "Laeeth Isharc" <Laeeth.nospam nospam-laeeth.com> writes:
On Tuesday, 23 June 2015 at 08:49:45 UTC, Chris wrote:
 On Saturday, 20 June 2015 at 17:10:27 UTC, Nick Sabalausky 
 wrote:
 On 06/20/2015 12:34 PM, ketmar wrote:
 On Sat, 20 Jun 2015 12:23:59 -0400, Nick Sabalausky wrote:

 let's compare numbers for php, java, ruby, js -- and D. most 
 companies
 will not bet on language for which a pool of "hireable" 
 developers is
 small. and it's understandable: two developers quit, and the 
 project is
 dead, doomed to complete rewrite in another language. sheesh!
Well, not really. I mean, managers and HR all *believe* that to be so. But that's because pretty much all non-programmers, even ones in the software dev industry who really should know better, are stuck in this bizarre idea that programming skills are somehow non-transferable between languages. Which is obviously total bullcrap, but try explaining that to self-assured HR folk and other pointy-hairs. Hell, my first introduction to JS, ASP (yea, it was a long time ago) and web-dev in general was on-the-job as a fresh hire, and I was up to speed in like a week or so, if even that. The one thing relevant here that has *never* left my mind: http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html Favorite part: "The recruiters-who-use-grep, by the way, are ridiculed here, and for good reason. I have never met anyone who can do Scheme, Haskell, and C pointers who can't pick up Java in two days, and create better Java code than people with five years of experience in Java, but try explaining that to the average HR drone." So true.
Yeah. A guy I know had a hard time finding a job with Java. HR would always demand experience with this or that build tool and stuff like this. As if you couldn't learn this in a week or less, at least enough to be able to contribute to a project. Actual programming skills never seemed to be really important. Weird.
And as a consequence, we see: http://marginalrevolution.com/marginalrevolution/2015/06/the-time-needed-to-fill-jobs.html The present state of hiring processes can't go on, and so it won't. http://www.amazon.com/Why-Good-People-Cant-Jobs-ebook/dp/B00850ZOKI
Jun 23 2015
parent "Chris" <wendlec tcd.ie> writes:
On Tuesday, 23 June 2015 at 08:58:39 UTC, Laeeth Isharc wrote:
 And as a consequence,  we see:
 http://marginalrevolution.com/marginalrevolution/2015/06/the-time-needed-to-fill-jobs.html

 The present state of hiring processes can't go on, and so it 
 won't.

 http://www.amazon.com/Why-Good-People-Cant-Jobs-ebook/dp/B00850ZOKI
This already started in the 1990ies and got worse and worse, this business of looking for the "perfect" candidate. A lot of skills can be acquired in the first weeks (or months, depending). It's better to train someone who's intelligent and innovative than someone who's worked with all IDEs and build systems, but is fairly un-innovative (problem => for loop).
Jun 23 2015
prev sibling parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On 06/23/2015 04:49 AM, Chris wrote:
 Yeah. A guy I know had a hard time finding a job with Java. HR would
 always demand experience with this or that build tool and stuff like
 this. As if you couldn't learn this in a week or less, at least enough
 to be able to contribute to a project. Actual programming skills never
 seemed to be really important. Weird.
A big part of the problem is that HR folk know precisely jack shit about the fields they're hiring for, and they're never expected to. My favorite word-for-word quote from a real-life headhunter I once met (and never spoke to again): "I don't know anything about programming, but I'm good at identifying people who are." That, right there, sums up EVERYTHING.
Jun 23 2015
prev sibling next sibling parent reply Ellery Newcomer <ellery-newcomer utulsa.edu> writes:
On 06/20/2015 07:00 AM, Etienne wrote:
 On Saturday, 20 June 2015 at 13:33:34 UTC, Dragos Carp wrote:
 On Saturday, 20 June 2015 at 12:35:11 UTC, weaselcat wrote:
 I recently read this facebook post on their future implementation in
 their Folly library.

 https://code.facebook.com/posts/1661982097368498

 This made me slightly envious. Thoughts on a D implementation?
Even if the callbacks are sequentially listed, the "callback hell" is still there. A better solution is to use fibers. You can take a look at a fibers[1] and tasks[2] implementation in asynchronous library[3]. [1] - https://github.com/dcarp/asynchronous/blob/master/src/asynchronous/futures.d [2] - https://github.com/dcarp/asynchronous/blob/master/src/asynchronous/tasks.d [3] - http://code.dlang.org/packages/asynchronous
Yep, looks like we already have better. I don't understand how D hasn't fully picked up in Web Dev at this point. Are they expecting an e-commerce/blogging/cms platform to go with it?
A while back I was bored and curious to see how vibe would fare in the web framework benchmarks (http://www.techempower.com/benchmarks/) so I started adding vibe to it (https://github.com/ariovistus/FrameworkBenchmarks). Chose to go with ddb. Postgresql+asynchronous, sounds great. It didn't compile with the latest dmd at the time. So I fixed it up, made a PR, and it worked fine. It looked like I was getting results close to netty (in json serialization) without much effort, but ultimately, I set it aside to wait for my PR to be merged. what is the deal with ddb, anyways? Is it dead?
Jun 20 2015
next sibling parent "Etienne" <etcimon gmail.com> writes:
On Saturday, 20 June 2015 at 22:42:23 UTC, Ellery Newcomer wrote:
 On 06/20/2015 07:00 AM, Etienne wrote:
 On Saturday, 20 June 2015 at 13:33:34 UTC, Dragos Carp wrote:
 On Saturday, 20 June 2015 at 12:35:11 UTC, weaselcat wrote:
 [...]
Even if the callbacks are sequentially listed, the "callback hell" is still there. A better solution is to use fibers. You can take a look at a fibers[1] and tasks[2] implementation in asynchronous library[3]. [1] - https://github.com/dcarp/asynchronous/blob/master/src/asynchronous/futures.d [2] - https://github.com/dcarp/asynchronous/blob/master/src/asynchronous/tasks.d [3] - http://code.dlang.org/packages/asynchronous
Yep, looks like we already have better. I don't understand how D hasn't fully picked up in Web Dev at this point. Are they expecting an e-commerce/blogging/cms platform to go with it?
A while back I was bored and curious to see how vibe would fare in the web framework benchmarks (http://www.techempower.com/benchmarks/) so I started adding vibe to it (https://github.com/ariovistus/FrameworkBenchmarks). Chose to go with ddb. Postgresql+asynchronous, sounds great. It didn't compile with the latest dmd at the time. So I fixed it up, made a PR, and it worked fine. It looked like I was getting results close to netty (in json serialization) without much effort, but ultimately, I set it aside to wait for my PR to be merged. what is the deal with ddb, anyways? Is it dead?
Hm, ddb doesn't have an asynchronius driver so you're probably going through std.socket which is thread blocking. I think the author isn't very active, but you shouldn't make it a habit to wait for a merge before continuing, or else you'll never be productive. Worst case your fork will be more up to date and you can become the maintainer I guess
Jun 20 2015
prev sibling parent =?UTF-8?B?U8O2bmtlIEx1ZHdpZw==?= <sludwig rejectedsoftware.com> writes:
Am 21.06.2015 um 00:42 schrieb Ellery Newcomer:
 On 06/20/2015 07:00 AM, Etienne wrote:
 On Saturday, 20 June 2015 at 13:33:34 UTC, Dragos Carp wrote:
 On Saturday, 20 June 2015 at 12:35:11 UTC, weaselcat wrote:
 I recently read this facebook post on their future implementation in
 their Folly library.

 https://code.facebook.com/posts/1661982097368498

 This made me slightly envious. Thoughts on a D implementation?
Even if the callbacks are sequentially listed, the "callback hell" is still there. A better solution is to use fibers. You can take a look at a fibers[1] and tasks[2] implementation in asynchronous library[3]. [1] - https://github.com/dcarp/asynchronous/blob/master/src/asynchronous/futures.d [2] - https://github.com/dcarp/asynchronous/blob/master/src/asynchronous/tasks.d [3] - http://code.dlang.org/packages/asynchronous
Yep, looks like we already have better. I don't understand how D hasn't fully picked up in Web Dev at this point. Are they expecting an e-commerce/blogging/cms platform to go with it?
A while back I was bored and curious to see how vibe would fare in the web framework benchmarks (http://www.techempower.com/benchmarks/) so I started adding vibe to it (https://github.com/ariovistus/FrameworkBenchmarks).
I had also started with this some time ago, but didn't get far enough to dig through what's necessary to adjust the various setup and benchmark scripts: https://github.com/s-ludwig/FrameworkBenchmarks Would be great to get in there. BTW, I was using mysql-native to implement the database tests, but didn't ever actually run the benchmarks.
 Chose to go with ddb. Postgresql+asynchronous, sounds great. It didn't
 compile with the latest dmd at the time. So I fixed it up, made a PR,
 and it worked fine.

 It looked like I was getting results close to netty (in json
 serialization) without much effort, but ultimately, I set it aside to
 wait for my PR to be merged.

 what is the deal with ddb, anyways? Is it dead?
Jun 22 2015
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 20/06/15 16:00, Etienne wrote:

 Yep, looks like we already have better. I don't understand how D hasn't
 fully picked up in Web Dev at this point. Are they expecting an
 e-commerce/blogging/cms platform to go with it?
My biggest reason is the lack of libraries. -- /Jacob Carlborg
Jun 21 2015
next sibling parent reply "Etienne Cimon" <etcimon gmail.com> writes:
On Sunday, 21 June 2015 at 19:08:47 UTC, Jacob Carlborg wrote:
 On 20/06/15 16:00, Etienne wrote:

 Yep, looks like we already have better. I don't understand how 
 D hasn't
 fully picked up in Web Dev at this point. Are they expecting an
 e-commerce/blogging/cms platform to go with it?
My biggest reason is the lack of libraries.
There's probably a lack of a Joomla/Wordpress/Magento platform in D with plugin support. Libraries would pour into D if there was a similar tool.
Jun 21 2015
next sibling parent reply "rsw0x" <anonymous anonymous.com> writes:
On Sunday, 21 June 2015 at 22:02:39 UTC, Etienne Cimon wrote:
 On Sunday, 21 June 2015 at 19:08:47 UTC, Jacob Carlborg wrote:
 On 20/06/15 16:00, Etienne wrote:

 Yep, looks like we already have better. I don't understand 
 how D hasn't
 fully picked up in Web Dev at this point. Are they expecting 
 an
 e-commerce/blogging/cms platform to go with it?
My biggest reason is the lack of libraries.
There's probably a lack of a Joomla/Wordpress/Magento platform in D with plugin support. Libraries would pour into D if there was a similar tool.
No, there really are no libraries for D. And it's 1000x worse if you attempt to use D for anything related to system's programming aka no GC available. I got so fed up that I ported my project from D to C. I'll gladly trade a worse language for not having to write an entire standard library by myself.
Jun 21 2015
next sibling parent "Nick Sabalausky" <a a.a> writes:
On Sunday, 21 June 2015 at 23:08:09 UTC, rsw0x wrote:
 I got so fed up that I ported my project from D to C. I'll 
 gladly trade a worse language for not having to write an entire 
 standard library by myself.
I'm exactly the opposite. I've wasted so much time putting up with awful languages I'm glad to reinvent a few wheels if that's what it takes to get some basic technological progress. (Too many people NOT doing that is exactly why things never improve. Somebody's gotta just bite the bullet.)
Jun 21 2015
prev sibling parent ketmar <ketmar ketmar.no-ip.org> writes:
On Sun, 21 Jun 2015 23:08:07 +0000, rsw0x wrote:

 No, there really are no libraries for D. And it's 1000x worse if you
 attempt to use D for anything related to system's programming aka no GC
 available.
=20
 I got so fed up that I ported my project from D to C. I'll gladly trade
 a worse language for not having to write an entire standard library by
 myself.
but you don't have to drop D to use C libraries! some of my code is full=20 of calls to libc and other C libs, neatly wrapped in D structs. i don't=20 really want to remember when to write "->" anymore, or "oh, i forgot a=20 typedef here, so it will be `struct my_s`", or use C macros instead of D=20 templates. after decades of C experience i dropped it without any doubts, and i=20 surely don't want to get back. you see, i have alot of libraries written=20 for C during this years, and i dropped all that, 'cause D is so "better=20 C", that there are no reasons to use C anymore. and i always can wrap C=20 library if i need that, most of the work on wrapping can be done with=20 sed. ;-) so i really can't see any reason to go back to C instead of using D with=20 C libraries.=
Jun 23 2015
prev sibling parent Rikki Cattermole <alphaglosined gmail.com> writes:
On 22/06/2015 10:02 a.m., Etienne Cimon wrote:
 On Sunday, 21 June 2015 at 19:08:47 UTC, Jacob Carlborg wrote:
 On 20/06/15 16:00, Etienne wrote:

 Yep, looks like we already have better. I don't understand how D hasn't
 fully picked up in Web Dev at this point. Are they expecting an
 e-commerce/blogging/cms platform to go with it?
My biggest reason is the lack of libraries.
There's probably a lack of a Joomla/Wordpress/Magento platform in D with plugin support. Libraries would pour into D if there was a similar tool.
I really do want to fix this. Unfortunately writing everything from a an actual webserver to the template live reloading is a lot harder then you'd think. Which is unfortunate.
Jun 21 2015
prev sibling parent reply "Nick Sabalausky" <a a.a> writes:
On Sunday, 21 June 2015 at 19:08:47 UTC, Jacob Carlborg wrote:
 On 20/06/15 16:00, Etienne wrote:

 Yep, looks like we already have better. I don't understand how 
 D hasn't
 fully picked up in Web Dev at this point. Are they expecting an
 e-commerce/blogging/cms platform to go with it?
My biggest reason is the lack of libraries.
Curiosity, what libraries do you feel a lack of?
Jun 21 2015
next sibling parent "Nikolay" <sibnick gmail.com> writes:
On Sunday, 21 June 2015 at 23:43:16 UTC, Nick Sabalausky wrote:
 Curiosity, what libraries do you feel a lack of?
XML/Webservice - I know about JSON/REST, but often I have no choice Poor database support - a lot of libraries/drivers, but they can't win competition against Java JDBC.
Jun 21 2015
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 22/06/15 01:43, Nick Sabalausky wrote:

 Curiosity, what libraries do you feel a lack of?
For work, that would be: * Database drivers for Postgres and SQLite * ORM * Unit test framework. I want something like RSpec * RabbitMQ and ActiveMQ * Some way to interface with Selenium and PhantomJS For non work related things it would also be: * Sass * CoffeeScript * I would prefer HAML over that templates used in vibe.d but I guess there' close enough I haven't looked in a while for these things on code.dlang.org. I know some of them exist but I don't know the quality of them. In the Ruby world there's a lot of developers behind most of these libraries, there's no chance that these libraries would suddenly disappear overnight. These are the libraries I can think of right now, that are generally needed for most projects. Then there are of course special requirements for some projects. But in Ruby you can be pretty certain that most things are already available as a library. -- /Jacob Carlborg
Jun 22 2015
next sibling parent reply "Etienne" <etcimon gmail.com> writes:
On Monday, 22 June 2015 at 11:29:50 UTC, Jacob Carlborg wrote:
 On 22/06/15 01:43, Nick Sabalausky wrote:

 Curiosity, what libraries do you feel a lack of?
For work, that would be: * Database drivers for Postgres and SQLite
https://github.com/etcimon/d2sqlite3 async with vibe.d : https://github.com/pszturmaj/ddb/blob/master/examples/basic.d#L7
 * ORM
https://github.com/buggins/hibernated
 * Unit test framework. I want something like RSpec
I always got around fine with unittest { } and some imagination
 * RabbitMQ and ActiveMQ
C=>D binding and register sockets in libasync?
 * Some way to interface with Selenium and PhantomJS
You need to write the javascript to a file and use executeShell or pipeShell. I wanted to write a forward proxy in vibe.d though so that we can actually handle the headers/cookies and analyze the contents over the wire. I'm not sure if there's a language that does that already
 For non work related things it would also be:

 * Sass
https://github.com/Lodin/sassed
 * CoffeeScript
https://github.com/MartinNowak/diet-coffee/blob/master/source/diet_coffee.d#L23
 * I would prefer HAML over that templates used in vibe.d but I 
 guess there' close enough
http://blog.seancarpenter.net/2013/05/24/using-haml-from-the-command-line/ You seem to be active member of the community. Why not attempt to solve those? Doesn't seem like it would take that long (all the primitives are there). rikki > I really do want to fix this. Unfortunately writing everything from a an actual webserver to the template live reloading is a lot harder then you'd think. Which is unfortunate. You should have everything you need to write a D version of Wordpress using its code as a reference. Maybe with vibe.d, putting the data in Redis and using some lua scripting for themes or configuration files. It would take some imagination but it's not at all impossible to achieve it.
Jun 22 2015
next sibling parent Rikki Cattermole <alphaglosined gmail.com> writes:
On 23/06/2015 12:46 a.m., Etienne wrote:
 On Monday, 22 June 2015 at 11:29:50 UTC, Jacob Carlborg wrote:
 On 22/06/15 01:43, Nick Sabalausky wrote:

 Curiosity, what libraries do you feel a lack of?
For work, that would be: * Database drivers for Postgres and SQLite
https://github.com/etcimon/d2sqlite3 async with vibe.d : https://github.com/pszturmaj/ddb/blob/master/examples/basic.d#L7
 * ORM
https://github.com/buggins/hibernated
 * Unit test framework. I want something like RSpec
I always got around fine with unittest { } and some imagination
 * RabbitMQ and ActiveMQ
C=>D binding and register sockets in libasync?
 * Some way to interface with Selenium and PhantomJS
You need to write the javascript to a file and use executeShell or pipeShell. I wanted to write a forward proxy in vibe.d though so that we can actually handle the headers/cookies and analyze the contents over the wire. I'm not sure if there's a language that does that already
 For non work related things it would also be:

 * Sass
https://github.com/Lodin/sassed
 * CoffeeScript
https://github.com/MartinNowak/diet-coffee/blob/master/source/diet_coffee.d#L23
 * I would prefer HAML over that templates used in vibe.d but I guess
 there' close enough
http://blog.seancarpenter.net/2013/05/24/using-haml-from-the-command-line/ You seem to be active member of the community. Why not attempt to solve those? Doesn't seem like it would take that long (all the primitives are there). rikki > I really do want to fix this. Unfortunately writing everything from a an actual webserver to the template live reloading is a lot harder then you'd think. Which is unfortunate. You should have everything you need to write a D version of Wordpress using its code as a reference. Maybe with vibe.d, putting the data in Redis and using some lua scripting for themes or configuration files. It would take some imagination but it's not at all impossible to achieve it.
What can I say? I like doing things 100% or not at all. Design wise atleast. Oh one more thing, my next web service framework will be using lua for templates. The only thing not implemented is passing in data models. Its just even with luad binding D models to it is quite hard. Doable within a few days if the ORM is ready to go but when you add everything up. Ugh.
Jun 22 2015
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 22/06/15 14:46, Etienne wrote:
 On Monday, 22 June 2015 at 11:29:50 UTC, Jacob Carlborg wrote:
 * Database drivers for Postgres and SQLite
https://github.com/etcimon/d2sqlite3 async with vibe.d : https://github.com/pszturmaj/ddb/blob/master/examples/basic.d#L7
 * ORM
https://github.com/buggins/hibernated
 * Unit test framework. I want something like RSpec
I always got around fine with unittest { } and some imagination
 * RabbitMQ and ActiveMQ
C=>D binding and register sockets in libasync?
Seems I need to actually make a try on using these libraries.
 For non work related things it would also be:

 * Sass
https://github.com/Lodin/sassed
 * CoffeeScript
https://github.com/MartinNowak/diet-coffee/blob/master/source/diet_coffee.d#L23
 * I would prefer HAML over that templates used in vibe.d but I guess
 there' close enough
http://blog.seancarpenter.net/2013/05/24/using-haml-from-the-command-line/ You seem to be active member of the community. Why not attempt to solve those? Doesn't seem like it would take that long (all the primitives are there).
In general I feel it hard to justify when everything is already implemented in Ruby. At some point I just want to use a language and the libraries without needing to reinvent the wheel. Back in 2006 when I started with D I had some idea for an application I wanted to build. But there were a lot of missing components (many still are), I still haven't started building that application. -- /Jacob Carlborg
Jun 22 2015
parent "Etienne" <etcimon gmail.com> writes:
On Monday, 22 June 2015 at 19:45:57 UTC, Jacob Carlborg wrote:
 On 22/06/15 14:46, Etienne wrote:
 [...]
 [...]
Seems I need to actually make a try on using these libraries.
 [...]
In general I feel it hard to justify when everything is already implemented in Ruby. At some point I just want to use a language and the libraries without needing to reinvent the wheel. Back in 2006 when I started with D I had some idea for an application I wanted to build. But there were a lot of missing components (many still are), I still haven't started building that application.
I can't really know how it would've been like back then. Today it looks like there might be a future in web dev for D, I'd think people are willing to invest their name on a library to be part of it.
Jun 22 2015
prev sibling parent reply "Laeeth Isharc" <Laeeth.nospam nospam-laeeth.com> writes:
On Monday, 22 June 2015 at 11:29:50 UTC, Jacob Carlborg wrote:
 On 22/06/15 01:43, Nick Sabalausky wrote:

 Curiosity, what libraries do you feel a lack of?
For work, that would be:
 * Some way to interface with Selenium and PhantomJS
It's not pretty, but for what I want to do I have found embedding Python calls to phantomjs code within a D program works quite well. The SQLite stuff looks okay, although I haven't used for a big project yet.
Jun 22 2015
parent "Etienne" <etcimon gmail.com> writes:
On Monday, 22 June 2015 at 14:03:47 UTC, Laeeth Isharc wrote:
 On Monday, 22 June 2015 at 11:29:50 UTC, Jacob Carlborg wrote:
 On 22/06/15 01:43, Nick Sabalausky wrote:

 Curiosity, what libraries do you feel a lack of?
For work, that would be:
 * Some way to interface with Selenium and PhantomJS
It's not pretty, but for what I want to do I have found embedding Python calls to phantomjs code within a D program works quite well. The SQLite stuff looks okay, although I haven't used for a big project yet.
This is how I use it as a persistent storage for property get/setters. Takes some imagination at first, but it saves a huge amount of time/headaches on the long run. /// Opens the SQLite database from the data folder. The user must call .close() when finished! Database openDB(bool read = true) { // DB is always created in static ctor return Database(DATA_FOLDER_PATH() ~ "my.db", read ? SQLITE_OPEN_READONLY : (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)); } private T get(T)(string name, lazy T default_value = T.init) { Database sqlite = openDB(READ); scope(exit) sqlite.close(); T ret; try { auto results = sqlite.execute("SELECT value FROM config WHERE name='" ~ name ~ "';"); auto val = results.oneValue!string; ret = val.to!T; } catch { ret = default_value; } return ret; } private void set(T)(string name, T value) { Database sqlite = openDB(WRITE); scope(exit) sqlite.close(); bool exists; try { ResultRange res = sqlite.prepare("SELECT value FROM config WHERE name=?;").bind(1, name).execute(); string val = res.oneValue!string; // will throw if the value is not there // Update the existing value. auto prep = sqlite.prepare("UPDATE TABLE config SET value=? WHERE name=?;").bind(1, name).execute(); prep.bind(1, value.to!string); res = prep.execute(); } catch { exists = false; } if (!exists) { auto res = sqlite.prepare("INSERT INTO config (name, value) VALUES (?, ?);").bind(1, name).bind(2, value.to!string).execute(); } } // usage: property Duration created() { return get!ulong("created", 120).dur!"seconds"; } property void created(Duration val) { set("created", val.total!"seconds"); }
Jun 22 2015
prev sibling parent "Sebastiaan Koppe" <mail skoppe.eu> writes:
On Saturday, 20 June 2015 at 12:35:11 UTC, weaselcat wrote:
 I recently read this facebook post on their future 
 implementation in their Folly library.

 https://code.facebook.com/posts/1661982097368498

 This made me slightly envious. Thoughts on a D implementation?
After having worked with Observables/RX[1], Futures look kind of silly to me. I implemented some of them into D (with the help of fibers). Recently I made a small program that, on a merged pull-request on bitbucket, looks if the branch contains fix123, bug-123, etc. and toggles the ready-to-review status on the issue-tracker. This is what the code looks like: ``` bitbucketObservable.filter((PullRequest pr) { return pr.destination == "master" && pr.type == PullRequest.Type.MERGED; }).map((PullRequest pr) { auto r = regex(r"(fix|bug)[\/\-_]*([0-9]+)"); return match(pr.source, r); }).filter((RegexMatch!(string, ThompsonMatcher) m) { return !m.empty(); }).map((RegexMatch!(string, ThompsonMatcher) m) { return m.captures[2].to!int; }).concatMap((int bug) { return getCookie.fork(1).setReadyToReview(bug, "updated from D"); }).subscribe((json) { writefln("Response from bontq: %s",json); },(Exception e) { writeln("Error: %s",e); }); ``` [1] https://github.com/Reactive-Extensions/RxJS
Jun 22 2015