Pro programmer

Chris wendlec at
Mon Aug 26 08:50:29 UTC 2019

On Monday, 26 August 2019 at 06:46:04 UTC, GreatSam4sure wrote:

> What is the path of becoming very good at programming? Which 
> language will one start with.

Often it's the language that best solves the problem at hand for 
you, but it really depends on what you want to achieve. For fast 
scripting and modelling maybe Python would be a good choice. But 
Python can be a dead end when it comes to performance etc. If you 
want to develop apps for Android/iOS you're better off using Java 
or better still Kotlin (Android) and Swift (iOS). You should 
always decouple the business logic of your app from the UI. So 
you can write code in C/C++ or D and later link it to any UI. 
Anyway, always think of where you want to go, e.g. portability / 
cross-platform and see what best suits you. If you wanna go 
mobile use a language that runs on mobile platforms like Android 
and iOS. If you want to write for desktop or server only you have 
more choices. Unfortunately, Android/iOS support for D leaves 
much to be desired.

> I have some real-world situation I want to model but I am at a 
> loss as to how to start. For instance, I do one build a GUI 
> framework like adobe spark, javafx,etc with minimum dependency 
> or no dependency from the ground up.
> The lack of easily customizable, platform native GUI in D is a 
> real concern to me but I don't have the expertise to do it.

There is DlangUI: Check it 
out. And there are D bindings to other UI frameworks.

> Where is the starting point of doing such amazing thing?

The truth of the matter is that you only know after years of 
programming what you need and what you don't need. As you get 
wiser you become less excited about the latest fancy feature of 
language X. Basically all languages have similar core features to 
model the world and solve problems (hash maps, arrays, structs, 
classes etc.) Just start to write programs that solve problems 
and enjoy...

> Thanks for your reply

More information about the Digitalmars-d-learn mailing list