Can one be master of multiple programming languages or not? [closed] - programming-languages

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 12 years ago.
Is it possible to be an expert at multiple programming languages and platforms (e.g. C#/.NET, **Objective-C/Cocoa, Java/Spring...Hibernate) assuming you spend 5-10 years developing software with it.
Or is it always going to lead to being good at one thing and mediocre at the rest?
To put it in different words: To focus or not to focus in one development language/platform.
PS: Please don't bring up Jon Skeet as an example. We all know he doesn't have to even learn programming languages; programming languages learn from him. Our assumption is an average developer.

A lot of .Net Developers came from Java or C++ background. So, yes I have seen several developers work on different platforms. I have worked on C, C++, Perl, AWK, JBOSS/SEAM, LAMP, and .NET stacks. There are people who know more languages than myself. More importantly you should work on mid-large projects to fully get the experience. The fundamentals are the same. Every language or stack has the same challenges when it comes to concurrency, exception handling, etc,...

Yes. In fact, many programmers and other computer-related are required to be adept at more than 4 languages. Especially in web development, as much knowledge in as many programming languages is a asset.
Also, expanding on multiple programming languages expands a person's knowledge. New programming languages are popping up all the time, and sooner or later old languages will be overtaken by new ones.
It is good to be mediocre at many languages, and good at many other languages. Do not focus on only one, and do not focus on all of them.

Related

Learning functional programming after other programming paradigms [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I have taught myself C, Python, Java and a few other procedural or object oriented languages to an intermediate degree from resouces on the internet (thanks SO :D) and in books. When I tried to learn Haskell, I couldn't wrap my head around what the code actually did.
Is there a better functional language for someone coming from a background in procedural or object oriented programming to learn? Are there any resources meant for people in my situation?
Thanks!
It's probably varies with people (and this question is bound to get closed over that), but the way I see it: there isn't a stair you need to step on before you can be within reach to Haskell.
So I'd say you're not driven temporarily off necessarily by the language, but by your sources of learning. For the only truly gentle introduction, I recommend LYAH. It keeps things within reasonable difficulty and it has some really entertaining points every now and then.
However, if you still want to almost-soften your transition, you can check out F# which isn't a functional language but it will give you a good taste of FP, and it will be very familiar to you because you still live in an OO world.
You can also check out basically any other functional language and it will give you some of the mindset (Scala, ML, etc.).
Keep in mind that I say "almost-soften", because Haskell is very different (especially because of purity), and that gives you a very logical and mathematical mindset to things and that has been very different for me than any other language I learned. It's incredible. It was much beyond learning different syntax, it's a way to think about things and I can always find myself learning more and a truly amazing part of it is that (since it's so logical, mathematical, reasonable, etc.) the new ways of thinking I acquire with Haskell don't leave me both when I use other languages and even in my personal daily life.
That being said, the only thing truly horrible with Haskell is that it ruined me for other languages. I used to like C#... :(

forward and backward chaining in haskell [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 9 years ago.
I am trying to implement forward/Backward chaining in haskell something with a very a small database i.e some kind of text file and basic rules. Help would be appreciated. Thanks
Here are some monads that might be helpful:
logict
weighted-search
These monads have a notion of failure which automatically backtracks to previous states (they backtrack in different ways -- which to use depends on what behavior you want).
If you are doing unification, use StateT on one of these monads with a dictionary from variables to their values.
With these pieces, a backward-chaining logic engine is actually quite small and easy in Haskell. I wrote something similar for one of my projects in about 30 lines (it's in the latter part of this file, if you want a reference. I doubt you'll be able to use it exactly.).
Warning: although this task is easy for an experienced Haskell programmer, it uses some relatively advanced concepts, so if you do not already know Haskell, the necessary 30 lines will be quite hard to come up with. Do an extended tutorial first.

Thread Synchronization Primitives [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I am looking for a good material on different thread synchronization primitives that are generic (not tied to any language or implementation. I only want the concepts).
Searches in the internet point to specific language or implementation.
Well, it will be hard to find such resources, because they are almost always accompanied with some (at least pseudo) code example. Unless someone better informed than me sees this question :)
I would suggest exploring wikipedia for starters, e.g.:
Producer consumer problem
Dining philosophers problem
Sleeping barber problem
Synchronization (computer science)
Inter-process communication
look at the linked general words, links and external links, once you get familiar enough in the desired direction it would be ideal to find a scientific article that covers the topic - they are full of many references, and evenutally you'll stumble upon some great article(s).

How do you become an expert in a programming language? [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 12 years ago.
Assuming you have basic to intermediate knowledge of a particular language, how can you become an expert in that language in a short amount of time?
Refer to this 21 Days by Peter Norvig
Pull all your information sources together - such as:
The official language documentation,
Best practice books,
Google around for tutorial sites,
Get used to searching and finding what you need quickly
The obvious reply would be: Practice makes perfect.
Try to work with the language on daily basis and push yourself out of your comfort zone in using it. Joining a user group is also a good option.
But at the end of the day, I must agree with Rozuur and concede that becoming an expert in something usually requires experience and experience requires time.
I think,
Passion: to explore and learn, and then
Dedication: to learn different aspects of that programming language, finally,
Patience: to design a project and apply all that one has learned into it.
Note:The programming languages these days have grown too big to implement above strategy.
However, I would still believe that passion is the key to all learning!

Programming World [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 12 years ago.
In this programming world of ours we see C sharp and Java on the top. But these have rich library of thousand classes and function which become more richer with their new editions. Can we have a programming language which can give us more creativity and innovation inspite of this ever increasing library based languages ?
There are plenty of such languages: Ruby, Python, JavaScript, Erlang and plenty of others. You just need to stop trolling and do your homework.
Assembly. Can't get much more free then that.
In fact any decent library or framework is a language itself. A domain specific language. Of course you could have all the same functionality in form of a variety of "proper" DSLs, but it won't be that much different from the current state.

Resources