The Entrepreneur Forum | Startups | Entrepreneurship | Starting a Business | Motivation | Success

Which programming language do you use most?

Mission1

New Contributor
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Dec 15, 2017
9
18
24
United States
Which programming language do you use most ?
... and why?


Update:
Please include an explanation of why/what you use it for, to make this thread more useful.


@JR asked this question and I thought it might warrant its own thread.

My answer:
It depends on what you need to accomplish (the product or result) and which tool will allow you to get the result in the quickest time.
You need a different tool to build a software program to run on computers in your Client's office Vs. making a Cloud-based SaaS application to manage your product sourcing.

Let me explain that more...
Many programmers only know one or two languages, so if they learnt "Java" already, they might try to do everything using that. Or, when some framework becomes popular, like "Ruby on Rails" or "Angular" (a JavaScript framework), then they might use that for everything.
Instead, I would suggest asking an expert (e.g. StackOverflow) what is the best language and software libraries you should use. Because there are so many free or paid software libraries these days, I usually work backwards from there.

For example:
1.
Lets say you want to develop an app for your cell phone (mobile phone, handphone, etc.).
You want to accept payments via credit card, PayPal and Apple Pay. AND, it must work on Android, Apple and everything else. Yikes! Therefore I would find someone who can provide a cross-platform payments API (library) to do all that. Then, you find that the library only supports development using 2 languages. And there's your answer.

2. Lets say you want to develop a software program for desktop computers that needs to display lots of visual information. You're imagining lots of fancy graphics like in a movie. I would find a software library that does 3D graphics rendering. Then you find that the library only supports 3 programming languages. However, your program also needs to read medical data files from an x-ray machine. The manufacturer will sell you a software library to work with their proprietary equipment. It only supports 1 programming language. So the answer is the language that works with both the libraries you need.

Most prototypes or MVPs (Minimum Viable Products) can be hacked together like this.
If you can't make the pieces work together then you need to write a piece of software called an "adapter" or "bridge" or "translator". For example, a bank needs to make their database from the Stone Age talk to a new cell phone app. This is really common in the corporate world and is a great treasure trove of potential ideas business ideas. Later on, if your MVP gets funded then you can hire an expert who can optimize or re-write parts of your software.

What about if you're trying to hire someone to do the programming for you...
Look at advertisements on contracting websites and you will see patterns within certain industries. If someone needs to build an app then the replies will come from people with similar skills. If someone needs to build an SaaS application then (hopefully) the people replying will have a different, more suitable set of skills.

Recommendations:
- "Java" for building a cell phone app.
- "C" language is for embedded hardware e.g. the "Ring" doorbell or an I.O.T. device using an Arduino.
- "C++" can be used to make anything. It gives you great speed but it's a difficult language to learn. You would use this for Medical Imaging software, a Computer Game Engine, or your final product.
- "python" is useful to glue things together or to prototype your product. You can sort data, make plot charts, build a simple computer game, test a Deep Learning algorithm to automatically detect faces in photos.

Related threads:
Web-based software:

A game for desktop computers:

Learn to program Vs. learn marketing:

Barrier to entry:

.
 

Don't like ads? Remove them while supporting the forum. Subscribe.

Last edited:

eliquid

( Jason Brown )
EPIC CONTRIBUTOR
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Summit Attendee
Speedway Pass
May 29, 2013
1,410
6,764
1,496
Louisville - Kentucky
For the past 20 years, I've literally been able to do 95% of everything I have ever done in PHP.

Properly learning data structures is more important than which language to choose.

.
 

JordanS

Bronze Contributor
Read Millionaire Fastlane
Speedway Pass
Aug 8, 2014
81
100
129
I use ruby/python for most tasks whether it be a script to run in terminal or a website
 

Lucian M.

New Contributor
Read Millionaire Fastlane
Jul 10, 2019
3
1
15
Romania
I'm mostly using .NET & Angular - a stack which allows me to built different types of applications with ease. ( web, mobile, etc.)

It's more important to be an expert in a few technologies, rather than choosing the "perfect" ones for each project - that's unless you're building enterprise projects or of high complexity.
 

gryfny

Contributor
Read Millionaire Fastlane
I've Read UNSCRIPTED
Jun 11, 2019
28
28
20
Europe
I always get back to using Python. It's where I started, and it's just so quick and easy to get an MVP. Even though for studies and work I use mostly Java, I find it too much of a hassle to get started and to get a working product.
 

BelgianDude

New Contributor
Read Millionaire Fastlane
I've Read UNSCRIPTED
Mar 6, 2019
10
8
20
Most of the times I use .NET Core, Angular and Ionic. By using this tech stack in combination with good plugins, I noticed that the development speed was greatly reduced without loss of quality.
 

QueueQueue

Contributor
Read Millionaire Fastlane
I've Read UNSCRIPTED
Oct 12, 2016
35
53
112
32
Ontario, Canada
I currently use mostly .NET core (c#) and write my front ends in React (though I have had extensive experience with Angular as well in the past).

At the end of the day, especially for web stuff or mobile APIs, there is no "best language". You can get away with using a wide range of languages and it doesn't make a huge difference. You can use .NET, Java, Python, PHP, Node.js, etc and get the results you need. There are so many frameworks available to get up and running quickly with each one of those previously mentioned options. Good developers can switch between the languages as core programming concepts are pretty much the same across any language.

It is a common problem in the developer community that I see. Developers argue and agonize over what language they should use, but it is mostly unwarranted.
 

JRK

Contributor
Jun 26, 2019
13
65
17
For web development I have enjoyed using PHP with Laravel.
 

Don't like ads? Remove them while supporting the forum. Subscribe.

astr0

Grinding
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
Dec 3, 2017
292
410
212
31
Lviv, Ukraine
On my ex-9-5 mostly C# (mono and recently .Net core), some C++ where performance was critical.
Now 95% JavaScript, some C++ where there are no other options. Mostly MERN stack.
The main benefit - most code is in the same language, so more reusable.
Our next project probably would have some parts in Python and TypeScript.
 

László Károlyi

Contributor
Read Millionaire Fastlane
I've Read UNSCRIPTED
Feb 6, 2019
15
28
23
Berlin, Germany
Python master race reporting in.

I know and have used 10+ languages throughout my career, from C/C++ through SML (really an abomination)/Ilog rules (Java-like syntax) to PHP/Perl/Ruby and Kotlin/Java and of course Javascript/ES6.

All I can say is, nothing beats Python for me. I've been working with it since 2002 and I still love it. The eloquence, elegance and simpleness of the language beats everything so far. Of course where another language does the job better (i.e Kotlin for android), I use that, and for browsers you can't avoid JS on the frontend. But I like to keep it clean and simple, and structure it also in a simple way.

Python and Django is a duo that hasn't been beaten for a long time.
 
Last edited:

holmzee

Silver Contributor
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
Jul 2, 2014
350
639
283
24
Another vote for Python and Django. Just started learning web development a few months ago and can already make a pretty decent website in just a few days.
 

Jeff Noel

Gold Contributor
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
Oct 26, 2018
566
1,124
369
Quebec, Canada
I'll have to go with JavaScript.
With the emergence of ES6 and NodeJS, you can do a lot more than you think with it.
I believe it pretty much depends on what you started with.

Most people that started with Python will still love Python.

My second choice would be PHP, simply because I hate ASP .NET.
 
  • Like
Reactions: Mbc

404profound

Platinum Contributor
I've Read UNSCRIPTED
Speedway Pass
Aug 27, 2017
1,317
2,679
658
Desert of Desertion
I'll have to go with JavaScript.
With the emergence of ES6 and NodeJS, you can do a lot more than you think with it.
I believe it pretty much depends on what you started with.

Most people that started with Python will still love Python.

My second choice would be PHP, simply because I hate ASP .NET.
Node is so fast, I wonder how many people realize it sits on a beastly C++ engine haha
 

csalvato

Platinum Contributor
Read Millionaire Fastlane
Summit Attendee
Speedway Pass
May 5, 2014
1,353
3,829
896
34
Rocky Mountain West
Node is so fast, I wonder how many people realize it sits on a beastly C++ engine haha
In my experience, Node apps are much harder to maintain and slower to develop than Ruby. I think that will shift here within the next 5 years or so though.
 

astr0

Grinding
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
Dec 3, 2017
292
410
212
31
Lviv, Ukraine
JS code is harder to maintain and refactor than code in any other language I know.

Had to add a lot of math to the project a few weeks ago. Was thinking to rewrite part of it in C# (.Net core) cause JS Number is not the best thing in the world. Started from the most performance-critical API endpoint in the real-world app. Out of the box .Net was slower. After some tuning .Net was faster under low load but fell apart on moderate and heavy load by still having better averages, but lower 1% was dozens of times slower than Node, lower 5% was slower too. Ok, so the API stays in node.

Ok, what about math? Wrote the hot-path function in JS and C#. JS was surprisingly 2x faster. First thought was that V8 optimized away some code, so tried to trick it. No luck. It was even a bit faster than C++, so the only explanation I have is that V8's jit generated SSE instructions for that. So math stayed in JS too. Had to use some tricks cause JS is single-threaded.

On productivity, haven't tried Ruby, but nothing can come close to C# + VS + Resharper for me so far, especially on bigger projects.
 

André Casal

Contributor
Jun 1, 2018
29
36
20
JavaScript: the one language to rule them all.

I love JS because you can build servers, clients, macOS, Windows, Linux, iOS and Android apps with it.
And performance is very good.
 

404profound

Platinum Contributor
I've Read UNSCRIPTED
Speedway Pass
Aug 27, 2017
1,317
2,679
658
Desert of Desertion
In my experience, Node apps are much harder to maintain and slower to develop than Ruby. I think that will shift here within the next 5 years or so though.
raw JS is hard to maintain, but now that TypeScript is maturing that partially mitigates that concern (though not entirely, since it still depends on the effectiveness of babel)
 

Don't like ads? Remove them while supporting the forum. Subscribe.

404profound

Platinum Contributor
I've Read UNSCRIPTED
Speedway Pass
Aug 27, 2017
1,317
2,679
658
Desert of Desertion
Had to use some tricks cause JS is single-threaded.
The event-loop is single-threaded, however, the node environment as a whole makes use of a library called libuv that directs a thread pool for asynchronous operations. So JS has a single threaded scheduler, but the reason it's fast in the context of node is because libuv (a C/C++ implementation) can delegate to multiple threads depending on what the event loop requests of it. All V8 does is provide a lexical binding between js code and C/C++ libraries (not to downplay the significance of that, because that's essentially Google using black magic).
 
Last edited:

Ravens_Shadow

one foot in front of the other
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Summit Attendee
Speedway Pass
Oct 2, 2012
835
3,449
776
Cary, NC
We write high performance software and have been using GLSL and Odin.


The Odin programming language is fast, concise, readable, pragmatic and open sourced. It is designed with the intent of replacing C with the following goals:
  • simplicity
  • high performance
  • built for modern systems
  • joy of programming
And it really helps us create incredible things quickly.
 

astr0

Grinding
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
Dec 3, 2017
292
410
212
31
Lviv, Ukraine
The event-loop is single-threaded, however, the node environment as a whole makes use of a library called libuv that directs a thread pool for asynchronous operations. So JS has a single threaded scheduler, but the reason it's fast in the context of node is because libuv (a C/C++ implementation) can delegate to multiple threads depending on what the event loop requests of it. All V8 does is provide a lexical binding between js code and C/C++ libraries (not to downplay the significance of that, because that's essentially Google using black magic).
Yes, and it was the reason node beat .Net low% on high load.

However, JS code is still executed on one thread. Which is blocking the whole node process and not suitable for doing heavy math on multi-core servers. So without forking multiple processes or using service workers and communication with them, it's impossible to utilize multiple cores for doing CPU computation tasks in parallel.

I would consider C/C++ binding the "easy" part of V8 and all JS engines do that at least for browser APIs. The most shocking for me is how far the JIT went in raw execution performance of compiled JS. JS isn't strongly typed language with lots of things that don't map well on the CPU (Numbers for example) or should be fairly slow (adding new fields to an object, assigning values of a different type, etc.), yet it managed to beat .Net JIT and C++ (no SIMD) in some real-world scenarios.
 

404profound

Platinum Contributor
I've Read UNSCRIPTED
Speedway Pass
Aug 27, 2017
1,317
2,679
658
Desert of Desertion
Yes, and it was the reason node beat .Net low% on high load.

However, JS code is still executed on one thread. Which is blocking the whole node process and not suitable for doing heavy math on multi-core servers. So without forking multiple processes or using service workers and communication with them, it's impossible to utilize multiple cores for doing CPU computation tasks in parallel.

I would consider C/C++ binding the "easy" part of V8 and all JS engines do that at least for browser APIs. The most shocking for me is how far the JIT went in raw execution performance of compiled JS. JS isn't strongly typed language with lots of things that don't map well on the CPU (Numbers for example) or should be fairly slow (adding new fields to an object, assigning values of a different type, etc.), yet it managed to beat .Net JIT and C++ (no SIMD) in some real-world scenarios.
Yea, JS is horrible with CPU-intensive operations. I got lucky that the app I'm building mostly works with database i/o, because when I first started learning Node I didn't understand that limitation of JS. If I ever need to perform serious computations I'll probably write a microservice in python.

To your point about strong typing, does that mean TypeScript can improve the performance of JS around that issue? Or does it not matter since TypeScript transpiles to JS anyway?
 

Redwolf

New Contributor
May 6, 2018
1
3
13
I own a motorsports event photography business. We take photos and video of participants at track days and amateur racing on road race courses. I started out displaying photos + home brew shopping car with static HTML pages generated using VB Script . Now the viewing software and cart is PHP (Fat Free Framework) and the back end is Visual C#. The back end software does order processing, photo prep, video prep and more. I learn as a go with google searches which almost always put me on Stack Exchange. My favorite breakthrough was figuring out how to hardware accelerate video encoding in Visual C#. :)

I also have scheduling and other scripts I wrote, and hired some work out for, in Python. It really just depends what needs doing that determines the language. I still have a few tasks in my business being done in VB script and an HTA program, hah.
 

Barry_M

Contributor
I've Read UNSCRIPTED
Jul 26, 2019
49
48
98
UK
I write C#, JAVA, Javascript (Jquery mostly), php, MySQL, CSS3, HTML5
Looking to start learning REACT (soon) if I can find a real benefit to doing so.
 

awestbro

Contributor
FASTLANE INSIDER
Read Millionaire Fastlane
Nov 13, 2018
46
66
112
West Virginia
I do a lot of web development. I've worked with lots of languages of the past 8 years. For the past two years I've been happily coding with Elixir.

Elixir is a weird mix of Ruby syntax on top of the Erlang VM. Looks hipster at first but...

I first got into Elixir actually through watching a youtube video on Erlang (a programming language written in the 80s for telecom companies). All of these engineers were listening to this presentation, and all of them had grey hair. Which got me thinking... Why are all these old guys so damn happy? The answer: the Erlang VM is just a fantastic platform to build stuff on.

Immutability by default, suuuper lightweight threads, "let it fail" mentality, and supervisors to turn stuff off and on when things go wrong. There's a lot more cool stuff in OTP, but I'll stay away from that for now. There's a lot of tools to make otherwise hard problems dead simple. It's a purpose built language with solid design principles.

The creator of Elixir was actually a core Ruby on Rails team member. When faced with concurrency issues in Ruby, he decided to make his own language, bringing a fresh coat of paint to an already highly concurrent, fault tolerant language.

The phoenix framework is written in Elixir and is a much less "magic" version of rails. I hate large frameworks because you spend more time figuring out the thought process behind the framework than focusing on the problem itself. Phoenix is really slim, comes with project generators, super easy to unit test, and can leverage a lot of cool stuff from OTP.

Elixir, Phoenix, Postgres, Turbolinks, Stimulus, and React for when I absolutely have to do something with Javascript.

It's a bit programmery, but well worth the time to learn.
 

Barry_M

Contributor
I've Read UNSCRIPTED
Jul 26, 2019
49
48
98
UK
I do a lot of web development. I've worked with lots of languages of the past 8 years. For the past two years I've been happily coding with Elixir.

Elixir is a weird mix of Ruby syntax on top of the Erlang VM. Looks hipster at first but...

I first got into Elixir actually through watching a youtube video on Erlang (a programming language written in the 80s for telecom companies). All of these engineers were listening to this presentation, and all of them had grey hair. Which got me thinking... Why are all these old guys so damn happy? The answer: the Erlang VM is just a fantastic platform to build stuff on.

Immutability by default, suuuper lightweight threads, "let it fail" mentality, and supervisors to turn stuff off and on when things go wrong. There's a lot more cool stuff in OTP, but I'll stay away from that for now. There's a lot of tools to make otherwise hard problems dead simple. It's a purpose built language with solid design principles.

The creator of Elixir was actually a core Ruby on Rails team member. When faced with concurrency issues in Ruby, he decided to make his own language, bringing a fresh coat of paint to an already highly concurrent, fault tolerant language.

The phoenix framework is written in Elixir and is a much less "magic" version of rails. I hate large frameworks because you spend more time figuring out the thought process behind the framework than focusing on the problem itself. Phoenix is really slim, comes with project generators, super easy to unit test, and can leverage a lot of cool stuff from OTP.

Elixir, Phoenix, Postgres, Turbolinks, Stimulus, and React for when I absolutely have to do something with Javascript.

It's a bit programmery, but well worth the time to learn.
arnt these all sub Library of another language though?
Like Jquery is to Javascript and I suppose REACT is the Javascript as well
 

awestbro

Contributor
FASTLANE INSIDER
Read Millionaire Fastlane
Nov 13, 2018
46
66
112
West Virginia
arnt these all sub Library of another language though?
Like Jquery is to Javascript and I suppose REACT is the Javascript as well
Elixir is its own language.

Phoenix is a library for Elixir. Postgres is its own database. Turbolinks, Stimulus, and React are all javacript libraries.

The libraries were outside of the scope of the original question, but felt like they were worth mentioning if anyone was interested
 

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.



Don't like ads? Remove them while supporting the forum. Subscribe to become an INSIDER.

Post New Topic

Please SEARCH before posting.
Please select the BEST category.

Post new topic

Fastlane Insiders

View the forum AD FREE.
Private, unindexed content
Detailed process/execution threads
Monthly conference calls with doers
Ideas needing execution, more!

Join Fastlane Insiders.

Top Bottom