What should be considered when choosing a language?

Duplicate:

Best language for rapid prototyping?

What language should students start in?

What programming languages โ€‹โ€‹should a web developer know?

What are some criteria to consider when choosing a language to use in a project? For example, why should I use Python for Ruby, PHP through ASP, C # on top of Java, etc. Is it scalability, documentation, maintainability, or is it easy to learn the language?

thanks

Edit:

I know this is a subjective question, but I'm looking for good business examples to convince a manager to switch from one language to another. I DO NOT do this to incite a pagan war or to prove that one language is better than another. I just need some criteria to compare when comparing languages. I apologize if my question offended or praised some.

+4
source share
14 answers

There are many stack overflow questions in these lines:

The list goes on. Answers usually include arguments for a specific choice that would answer your question.

+4
source

I try to use Excel VBA macros for all my projects.

+4
source

Is it scalability, documentation, maintainability or ease of learning a language?

Well, yes, but the most important questions you should ask are, โ€œWhat do I need to do? What are the requirements?โ€ I am building a web application or a Windows application, do I need to be cross-platform or just work on Windows? Does this app need "real time", for example, streaming stock quotes, chats / chats, etc. After you answered these questions, choosing a language became a matter of choosing the right tool for the job.

+3
source

Initially, this Q got voted to -2, and I'm not sure why. This is a reasonable question.

How does the project team choose a programming environment?

The first order factor is the type of output. If this is a web application, then Java, C # PHP, and possibly Python, but not Perl, COBOL F #, or LISP. If it is a system application or driver, then C ++ yes, but not C #.

In addition, it seems to me that in most cases it is determined from an environmental point of view. Is this what you already know, or is it the language in which most of the team is already happy.

+2
source

I also don't know why this was rejected as a question. I voted for this because I feel that this is a reasonable question to ask and one that we all need to answer.

Some say, "The language you are most comfortable in ..." is the correct answer. I would not agree. If I like C most and create a website, should we use C? No, of course not!

Here are some things I would like to consider:

  • The productivity of the average developer (and not just you) in this language for the problem domain you are accessing.
  • Language support to solve the problems that you will be dealing with.
  • Maintaining healthy language code for your problem area
  • Scalability of systems written in this language for your problem area
  • Availability of both formal and community-based training and support resources

Just a few things to consider.

+2
source

The factor that should influence you the most when choosing a language for use in the project will be the language in which you feel most comfortable.

Update: Scalability is not an aspect of the language, but of your architecture and application code.

+1
source

This obviously depends on the project and the developers working on it.

  • What are your developers familiar with?
  • Licensing / pricing / software stack support.
  • Existing systems (if you are a .NET store, ASP.NET will probably be selected, for example, through PHP).
  • Suitability of the language for a specific project (you are not going to use Ruby on the PIC).
  • etc. etc. etc.
+1
source

If you are trying to do a management case for switching languages, consider the following things:

1) Talent pool - internal and external. How hard it is to find good coders in the language

2) Other projects - what similar projects were made in each language under consideration

3) Educational support - dependence on the local university and Microsoft for continuing education (very important in large long-term projects, where technology can change before the project is completed)

4) Conferences, standards and bodies of work - in accordance with No. 3.

5) An appeal to the style of management - the old school management will always value "tested and true" over "sharp and fresh."

Good luck with your research and delivery!

+1
source

I want someone to start working on making things more compatible. I would like to use Perl for some things, Python for others, SQL for something else, C #, Prolog, Haskell and Pascal. Then bundle everything together with make and be happy that my integrated debugger can jump between them.

In principle, you want to choose the right language to work in your hand and, therefore, be personal to you and your institution.

We are an MS store, therefore, although I am in no way a form or a form of Microsoft advocate, I must say that C # is a very good general solution to many problems.

This is not for all horses, in all courses, but it does it for us at the moment (~ 15 developers working only for internal applications, some of which are web-delivered, all of which must be chosen by someone randomly in which an uncertain point in the future).

+1
source

I would like to make my choice on a combination of a language suitable for a problem space, and the fact that I and / or the staff have some level of experience in languages. For non-web applications other than drivers, I usually choose Java - if the performance was not critical, then I would choose C ++. But imo C ++ is much more complicated than Java and much more prone to errors and memory leaks, so make your choice with caution. For a web application, I would choose PHP because I know this, and there is a ton of documentation, although I heard that Ruby is pretty good. For non-web-based scripting applications, I would choose Perl.

0
source

Whatever you do, do not just choose a language because it is โ€œcoolโ€ or something that you want to โ€œtryโ€.

It should be basic.

Now that this has been said, do not answer the question. You must choose a platform, not a language.

0
source

Just think about what the language was designed for (the problems for which it is intended and how it solves them) versus what you need to do.

0
source

There is some kind of true cliche "choose a platform, not a language." When you go to it, most tasks can be performed in almost any language (even in LOLCODE). However, you will notice that there are many different sets of libraries available in different languages. In many people's opinions, this is the only thing that supports languages โ€‹โ€‹such as Java and PHP (it is not necessary to say that I agree with this, though ... well, at least not for Java :-)).

My advice is to find out what (if any) external libraries you will need, and then decide based on what is available in any languages โ€‹โ€‹that you are considering. I think you will find the solution a lot easier.

And finally, if you still cannot decide between some languages, remember that there is nothing wrong with sticking to what you know or what you simply feel better. It is much better to make a decision based on something arbitrary than to impose "analysis paralysis".

0
source

available tools

0
source

All Articles