The Entrepreneur Forum | Financial Freedom | Starting a Business | Motivation | Money | Success
  • SPONSORED: GiganticWebsites.com: We Build Sites with THOUSANDS of Unique and Genuinely Useful Articles

    30% to 50% Fastlane-exclusive discounts on WordPress-powered websites with everything included: WordPress setup, design, keyword research, article creation and article publishing. Click HERE to claim.

Welcome to the only entrepreneur forum dedicated to building life-changing wealth.

Build a Fastlane business. Earn real financial freedom. Join free.

Join over 90,000 entrepreneurs who have rejected the paradigm of mediocrity and said "NO!" to underpaid jobs, ascetic frugality, and suffocating savings rituals— learn how to build a Fastlane business that pays both freedom and lifestyle affluence.

Free registration at the forum removes this block.

Which programming language do you use most?

eliquid

( Jason Brown )
EPIC CONTRIBUTOR
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
519%
May 29, 2013
1,878
9,739
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.

.
 

renaissance man

Contributor
Read Fastlane!
Read Unscripted!
User Power
Value/Post Ratio
181%
Feb 6, 2019
32
58
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.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.
Last edited:

astr0

Grinding
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
140%
Dec 3, 2017
356
500
36
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.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

Mission1

Contributor
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
289%
Dec 15, 2017
19
55
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:

.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.
Last edited:

gryfny

Bronze Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
140%
Jun 11, 2019
206
288
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.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

QueueQueue

Contributor
Read Fastlane!
Read Unscripted!
User Power
Value/Post Ratio
153%
Oct 12, 2016
36
55
37
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.
 

Ravens_Shadow

THE TRUTH IS OUT THERE
FASTLANE INSIDER
EPIC CONTRIBUTOR
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
643%
Oct 2, 2012
1,247
8,012
Austin, TX
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.
 

Redwolf

Bronze Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
196%
May 6, 2018
79
155
Southern California
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.
 

André Casal

Bronze Contributor
Speedway Pass
User Power
Value/Post Ratio
140%
Jun 1, 2018
99
139
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.
 
D

Deleted50669

Guest
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).
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.
Last edited by a moderator:
D

Deleted50669

Guest
arnt these all sub Library of another language though?
Like Jquery is to Javascript and I suppose REACT is the Javascript as well
Vue is better than React in my opinion. But then again, opinions on JS frameworks are a dime a dozen. I've tried learning all three major frameworks and found Vue the most intuitive to work with and having the best docs.
 

ChrisV

Legendary Contributor
EPIC CONTRIBUTOR
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
225%
May 10, 2015
3,141
7,061
Islands of Calleja
R (statistical programming language)
 

astr0

Grinding
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
140%
Dec 3, 2017
356
500
36
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.
 

Jeff Noel

Go all in.
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
220%
Oct 26, 2018
698
1,534
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.
 
D

Deleted50669

Guest
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
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
140%
Dec 3, 2017
356
500
36
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.
 
D

Deleted50669

Guest
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?
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

awestbro

Bronze Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
168%
Nov 13, 2018
69
116
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
 

Barry_M

Contributor
Read Unscripted!
User Power
Value/Post Ratio
116%
Jul 26, 2019
49
57
UK
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

ah right cool. Ive seen postgres before but never really took much interest in it as with Ruby.
I write Javascript daily. Might get in to REACT but I dont know yet.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

renaissance man

Contributor
Read Fastlane!
Read Unscripted!
User Power
Value/Post Ratio
181%
Feb 6, 2019
32
58
Berlin, Germany
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.
I have my eyes on Elixir/Erlang. The hot module replace functionality is something that caught my eyes. I plan to try it out somewhen in the distant future, when Python and its ecosystem deteriorates. It's just too comfy working with it right now.

One of my buddies is working at a bank where they build stuff with erlang/elixir, and he sung odes about it.

Btw, wanna see somebody who's happy with Python and has gray hair?

maxresdefault.jpg


His name is Raymond Hettinger.
 

Reso

New Contributor
Read Unscripted!
User Power
Value/Post Ratio
75%
Aug 4, 2017
4
3
24
Slovakia
Nobody mentioned Dart yet, so I'm going to do so. I build Flutter apps and I feel like Flutter for the web will be a game-changer once it's stable.
Backend is mostly Firebase, but I'm learning Aqueduct (Dart framework) although Node Electron Express is still more viable than this new Dart backend.
 
Last edited:

srodrigo

Gold Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
130%
Sep 11, 2018
799
1,041
I have my eyes on Elixir/Erlang. The hot module replace functionality is something that caught my eyes. I plan to try it out somewhen in the distant future, when Python and its ecosystem deteriorates
I'm curious about why you think Python will deteriorate. Python has a few problems compared to other languages, but there's one killer thing that's part of the future of programming and Python is probably the best language out there for it: Machine Learning. For this reason, I think Python will only improve, and I don't see it fading out any time soon. It's actually growing more and more on things like TIOBE, and the number of Python jobs is also raising.

In any case, there are lots of languages and tech stacks. It doesn't really matter which one you use, most of them get the job done.

For web/mobile development, I'd personally stick with JavaScript, unless I needed to dive into Machine Learning (in which case I'd go for Python without hesitating). There reason is that Progressive Web Apps might be enough to replace mobile apps that don't require much native interaction, and JS itself keeps growing. Dart/Flutter look promising, but not quite there yet, and again they might not be needed for simple apps (which are a very large percentage).

If I were to keep making video games, either C# (good balance between productivity and performance), or Rust if I needed really high performance (C++ looks like a mess to me).

EDIT: grammar.
 

srodrigo

Gold Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
130%
Sep 11, 2018
799
1,041
I'm starting to wonder when WASM will kill off any other web language. Definitely gonna start learning it soon.
That might be the case (I would personally love that). But if you look back, C (over 50 years old) and C++ (over 30) are still there. JavaScript, as much of a mess as it is, it's still there and growing. Same thing for most of the remaining mainstream languages (Python, Java, C#, even PHP), that have not been replaced by new shinny languages even if sometimes those new languages look better than the old ones.

There's too much JS out there to be replaced, in my opinion (even to be fixed, as JS is a flawed language and can't be fixed without breaking the entire web). Legacy code is something that keeps old languages mainstream.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.
D

Deleted50669

Guest
That's a good question. I haven't used it much, but looks to me like it just adds static typing. You can still use JavaScript inside TypeScript seamlessly, so I'm not sure it really fixes much.
I figured that half of JS's problems are the prevalence of runtime errors, which TS largely mitigates. I've just started digging into TS and think it's a big improvement so far.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

renaissance man

Contributor
Read Fastlane!
Read Unscripted!
User Power
Value/Post Ratio
181%
Feb 6, 2019
32
58
Berlin, Germany
I'm curious about why you think Python will deteriorate. Python has a few problems compared to other languages, but there's one killer thing that's part of the future of programming and Python is probably the best language out there for it: Machine Learning. For this reason, I think Python will only improve, and I don't see it fading out any time soon. It's actually growing more and more on things like TIOBE, and the number of Python jobs is also raising.

In any case, there are lots of languages and tech stacks. It doesn't really matter which one you use, most of them get the job done.

For web/mobile development, I'd personally stick with JavaScript, unless I needed to dive into Machine Learning (in which case I'd go for Python without hesitating). There reason is that Progressive Web Apps might be enough to replace mobile apps that don't require much native interaction, and JS itself keeps growing. Dart/Flutter look promising, but not quite there yet, and again they might not be needed for simple apps (which are a very large percentage).

If I were to keep making video games, either C# (good balance between productivity and performance), or Rust if I needed really high performance (C++ looks like a mess to me).

EDIT: grammar.
Let me preface my comment with it being my opinion, and opinions are like assholes. You know the drill.

I work with python since 2002 and don't get me wrong, I still love every bit of it, despite of the hindrances it has. The problem lies not in the language, but in the people around it. It's more like a human behavioral tendency, not a language pitfall. If something gets picked up by lots of people, eventually the toxic people too will find their way into it, and this is when things start to deteriorate.

If I would need to mention an example:

If you start debates on semantics, this is what clearly signals decline to me. Unfortunately or not, I've been proven right a couple times before.

Also, I never really understood the 'Machine Learning' hype. All that is to me is a result of the above mentioned fact: because of its conciseness, Python has become massively popular. If any other language would have the same effectiveness, probably the machine learning/AI hype would be propped up in that language.
 

Post New Topic

Please SEARCH before posting.
Please select the BEST category.

Post new topic

Guest post submissions offered HERE.

Latest Posts

New Topics

Fastlane Insiders

View the forum AD FREE.
Private, unindexed content
Detailed process/execution threads
Ideas needing execution, more!

Join Fastlane Insiders.

Top