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
16
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:

.
 
Last edited:

Become a Fastlane INSIDER to view the forum ad free.

eliquid

( Jason Brown )
EPIC CONTRIBUTOR
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Summit Attendee
Speedway Pass
May 29, 2013
1,396
6,646
1,496
Louisville - Kentucky
www.serpwoo.com
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

Contributor
Read Millionaire Fastlane
Speedway Pass
Aug 8, 2014
76
93
123
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
21
20
17
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
32
50
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.
 

Become a Fastlane INSIDER to view the forum ad free.

astr0

Grinding
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
Dec 3, 2017
288
402
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
Feb 6, 2019
11
24
20
Berlin, Germany
linkedin.com
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
346
626
278
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
546
1,083
369
Quebec, Canada
jfnoel.com
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.
 

404profound

Platinum Contributor
I've Read UNSCRIPTED
Speedway Pass
Aug 27, 2017
1,291
2,638
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
 

astr0

Grinding
FASTLANE INSIDER
Read Millionaire Fastlane
I've Read UNSCRIPTED
Speedway Pass
Dec 3, 2017
288
402
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.
 

Become a Fastlane INSIDER to view the forum ad free.

404profound

Platinum Contributor
I've Read UNSCRIPTED
Speedway Pass
Aug 27, 2017
1,291
2,638
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)
 

404profound

Platinum Contributor
I've Read UNSCRIPTED
Speedway Pass
Aug 27, 2017
1,291
2,638
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
820
3,354
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
288
402
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,291
2,638
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?
 

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.

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