13

I have a large web application idea that I would like to work on, which will require secure database interactions, file creation and editing abilities, speed, and output html. It needs to be able to run on a webhost, not a self-run server. What would be the best programming language to use to create it? I am not looking for 'easiest', I am looking for the most useful for the type of web application I wish to develop.

EDIT: It needs to be able to run on linux.

Geekman
  • 2,513
  • 3
  • 16
  • 10

3 Answers3

4

My pick would be ASP. NET MVC platform with Razor in-line syntax and C# for your code. .NET ticks all your boxes, plus it has a humongous community, lots of help resources, tutorials etc. online; probably the best coding tool out there (Visual Studio 2010), easy to integrate with cutting-edge stuff like html5, jQuery, CSS3, AJAX etc.

ASP.NET is Microsoft technology, hence you will need to develop on Windows (anything from XP and above will do). C# uses similar syntax to JAVA. Razor is new and fairly easy to use. .NET works very well with most databases and you can even manage both your code and database in the same tool (Visual Studio) depending on which DBMS you'll go for.

And I guess the biggest argument, as Matteo Mosca pointed out is that this very site was built using ASP .NET MVC and, in my opinion, it does its job pretty well.

Community
  • 1
  • 1
Ruslan
  • 9,927
  • 15
  • 55
  • 89
  • Does it work well with databases? Are their any beginner guides to it? I have programmed in c++, PHP, and ActionScript before, so I know basic programming, but any transition type guides? – Geekman Jul 04 '11 at 08:38
  • Also, does it need a specific operating system to program and run on? – Geekman Jul 04 '11 at 08:39
  • 1
    Oh. I need to run on linux, so I guess ASP is out. – Geekman Jul 04 '11 at 08:59
  • 1
    Not at all the case. I've done some large projects with Mono on a Linux virtual appliance and it has worked swimmingly well. We are extremely pleased. – Clearly Jul 20 '12 at 04:47
  • According to me, best scripting language is that which can provide you multi threading, less lines of code, fully object oriented, secure, reliable, easy to maintain, which costs you less at the server price. If you really want such kind of features then go for Scala, Node.JS, Ruby. As I am using these languages it is very much easy to understand the code and the best part of these languages is that you don't have to write 10000's line of code as compared to PHP and other languages. – Shubham Abrol May 09 '14 at 05:04
3

Please define "webhost". For a lot of people, that means "PHP hoster", and that sort of limits your choice of languages to 1.

For a large webapp, I would definitely take something that runs on the JVM (assuming that your definition of "webhost" includes some shop that accepts .war files for hosting - I usually self-host on virtual machines and run the Play Framework because it is so much easier). On the JVM, you have a choice of frameworks and languages - and again check out Play - and here it starts depending on language skills, specific needs, etcetera. Scala would, for a large app, definitely be on my shortlist these days.

Note that I say "JVM", not "Java". I think the JVM ecosystem rocks - you will probably find a site that takes the standard .war file format to host, if you need a library it is usually there, performance is top-of-the-line. Java as a programming language is so-so, but luckily there is choice these days.

Also, a lot depends on your skills, your preferences, etcetera. I'd say that Python, Perl, Ruby, C# all are very viable languages to build large websites. What development languages do you prefer? At the end of the day, that's a big factor in speed and ease of developement...

cdegroot
  • 1,765
  • 11
  • 12
  • Of Python, Perl, Ruby, and C#, Which would you recommend for the application? – Geekman Jul 04 '11 at 08:29
  • 1
    Do you know Python, Perl, Ruby and/or C#? That sort of influences the answer :) I'd say Python, because I know Python and like it. FWIW, YMMV, etcetera. – cdegroot Jul 04 '11 at 09:14
  • And today, I'd say Elixir/Phoenix. Which serves to illustrate the "YMMV" bit of this question - I cannot even agree with myself over time ;-) – cdegroot Mar 21 '16 at 14:40
0

I personally would recommend a good structured project (n-layer approach, use of an ORM, etc) under .net 4.0, with the goodness of C# and the Mvc framework (version 3) for the UI part.

If you had bad experiences with .net web forms and you think that sucks, you're right. But the MVC framework is something else, built on the RoR approach.

That's just what I'd use anyway. Consider the power of the features of C# 4.0 (dynamic, linq, generics, etc), the fact that you will be using Visual Studio (which is commonly recognised as the best development ide around) and the great number of free components that are now available, and recently even easy to obtain and use thanks to NuGet package manager.

To give you a great example of a site made with asp.net Mvc - you are on such site right now. Stack Overflow and all the stack exchange sites are built on Asp.net Mvc, if I remember correctly. If not, somebody correct this.

Matteo Mosca
  • 7,380
  • 4
  • 44
  • 80