<p>I come to ask this question here, because Meta told me this place was probably best for it.
Reference: <a href="https://meta.stackexchange.com/questions/114043/">https://meta.stackexchange.com/questions/114043/</a></p>

<p>I've read this article many a times and ran in to it again today: <a href="http://www.yacoset.com/Home/signs-that-you-re-a-bad-programmer" rel="nofollow noreferrer">Signs that you're a bad programmer</a></p>

<p>And the 2nd paragraph is something I've been thinking about a lot recently:<br />
2. Poor understanding of the language's programming model</p>

<p>There's a plethora of programming languages out there, and a lot of programming models. I learned programming in college. With some basic Java, PHP, Javascript and C#. These are all either scripted or OOP.</p>

<p>There are several more models and several more languages that implement those models.</p>

<p>Recently, I first tried out Ruby, and I never got beyond the basic stuff. Make an array, make a string, do substrings, etc...</p>

<p>My main problem was: why was I doing this? Why use a different tool when I already have one. You read so much stuff about how great certain languages are, but I feel I don't understand the goal of Ruby. Or its goals, if it has multiple.</p>

<p>Take PHP for example: you can use it to power websites, but also just to be a script that responds to a server request with some text-data.</p>

<p>Then there's other models. Why do I use them and in what situations? Why prefer them over other models, etc...</p>

<p>Does anyone know of a website or wiki that specializes in this? Because that would be really helpful.</p>

CC BY-SA 3.0
2011-11-29T20:46:42.463Z
This is not a research-level question, so moderators will move it either to stackoverflow.com or to programmers.stackexchange.com. I think you should stick to one language and develop a few real projects in it. I think it's hard to grasp subtle differences between languages without mastering a few different ones. And you cannot master a language just by reading an article or and ad about it. The languages you learned are all OOP, so I suggest to learn some languages that differ - e.g. SQL, Haskell and Prolog.
nponeccop
CC BY-SA 3.0
2011-11-29T21:50:26.030Z
Perhaps try programmers.stackexchange.com, as this was already bounced from stackoverflow. Check the FAQ, and perhaps ask on meta, as you rightfully did on stackoverflow.
Dave Clarke
CC BY-SA 3.0
2011-11-29T22:55:30.260Z
I'm not so sure this is off-topic. "Reference request: what are the programming models of the most commonly used languages, and what inadequacies in other languages motivated the creation of new ones?" Is that off topic? or perhaps not what the OP was asking?
Aaron Sterling
CC BY-SA 3.0
2011-11-30T07:51:34.077Z
I was not sure this was off topic either.
Suresh Venkat
CC BY-SA 3.0
2011-11-30T08:29:25.307Z
I'll reopen the question.
Dave Clarke
CC BY-SA 3.0
2011-12-01T02:20:33.450Z
Is there really much to say beyond the difference between imperative and functional in our case though?
Josephine Moeller
CC BY-SA 3.0
2011-12-01T04:06:06.547Z
@JohnMoeller: I suspect there's more than just that, but I'll let the PL experts weigh in.
Suresh Venkat
CC BY-SA 3.0
2011-12-01T10:31:12.473Z
Think of logical and constraint programming, and applications of certain specific calculi such as pi-calculus for concurrency and relational algebra in DBMS.
nponeccop
CC BY-SA 3.0
2011-12-01T14:11:09.180Z
This question doesn't seem research-level at all. I think this question is similar to "what are the goals of different algorithms that solve the same problem?, ie, why are there so many sorting algorithms?".  I don't think that would be a research-level question in algorithms.
Sam Tobin-Hochstadt
CC BY-SA 3.0
2011-12-01T20:02:53.067Z
This question would have been perfect for the upcoming [Computer Science Stack Exchange](http://area51.stackexchange.com/proposals/35636/computer-science-non-programming?referrer=pdx8p7tVWqozXN85c5ibxQ2). So, if you like to have a place for questions like this one, please go ahead and help this proposal to take off!
Raphael
CC BY-SA 3.0
2011-12-01T20:04:30.083Z
@Koen027, maybe you should investigate *programming paradigms*; I guess this is what your source means by "model".
Raphael
CC BY-SA 3.0
2011-12-01T21:09:42.497Z
@Raphael yes, but also the different workings and systems used by various languages that implement the same paradigm.
Koen027
<reference-request><pl.programming-languages>
Understanding the goals you can reach with different programming models and languages
Koen027
# Understanding the goals you can reach with different programming models and languages

(Asked by: username_0 on 2011-11-29)

I come to ask this question here, because Meta told me this place was probably best for it.
Reference: <https://meta.stackexchange.com/questions/114043/>

I've read this article many a times and ran in to it again today: [Signs that you're a bad programmer](http://www.yacoset.com/Home/signs-that-you-re-a-bad-programmer)

And the 2nd paragraph is something I've been thinking about a lot recently:  
2. Poor understanding of the language's programming model

There's a plethora of programming languages out there, and a lot of programming models. I learned programming in college. With some basic Java, PHP, Javascript and C#. These are all either scripted or OOP.

There are several more models and several more languages that implement those models.

Recently, I first tried out Ruby, and I never got beyond the basic stuff. Make an array, make a string, do substrings, etc...

My main problem was: why was I doing this? Why use a different tool when I already have one. You read so much stuff about how great certain languages are, but I feel I don't understand the goal of Ruby. Or its goals, if it has multiple.

Take PHP for example: you can use it to power websites, but also just to be a script that responds to a server request with some text-data.

Then there's other models. Why do I use them and in what situations? Why prefer them over other models, etc...

Does anyone know of a website or wiki that specializes in this? Because that would be really helpful.

**Tags:** reference-request, pl.programming-languages
> **Comments:**
> **username_1**: This is not a research-level question, so moderators will move it either to stackoverflow.com or to programmers.stackexchange.com. I think you should stick to one language and develop a few real projects in it. I think it's hard to grasp subtle differences between languages without mastering a few different ones. And you cannot master a language just by reading an article or and ad about it. The languages you learned are all OOP, so I suggest to learn some languages that differ - e.g. SQL, Haskell and Prolog.  
> **username_2**: Perhaps try programmers.stackexchange.com, as this was already bounced from stackoverflow. Check the FAQ, and perhaps ask on meta, as you rightfully did on stackoverflow.  
> **username_3**: I'm not so sure this is off-topic. "Reference request: what are the programming models of the most commonly used languages, and what inadequacies in other languages motivated the creation of new ones?" Is that off topic? or perhaps not what the OP was asking?  
> **username_4**: I was not sure this was off topic either.  
> **username_2**: I'll reopen the question.  
> **username_5**: Is there really much to say beyond the difference between imperative and functional in our case though?  
> **username_4**: @JohnMoeller: I suspect there's more than just that, but I'll let the PL experts weigh in.  
> **username_1**: Think of logical and constraint programming, and applications of certain specific calculi such as pi-calculus for concurrency and relational algebra in DBMS.  
> **username_6**: This question doesn't seem research-level at all. I think this question is similar to "what are the goals of different algorithms that solve the same problem?, ie, why are there so many sorting algorithms?".  I don't think that would be a research-level question in algorithms.  
> **username_7**: This question would have been perfect for the upcoming [Computer Science Stack Exchange](http://area51.stackexchange.com/proposals/35636/computer-science-non-programming?referrer=pdx8p7tVWqozXN85c5ibxQ2). So, if you like to have a place for questions like this one, please go ahead and help this proposal to take off!  
> **username_7**: @Koen027, maybe you should investigate *programming paradigms*; I guess this is what your source means by "model".  
> **username_0**: @Raphael yes, but also the different workings and systems used by various languages that implement the same paradigm.  

---

## 0 answers

