#Confusion of Programming languages...........!......

67 messages · Page 1 of 1 (latest)

coarse rivet
#

I’m 15 (turning 16 this April) and trying to decide which programming language to focus on long-term.

My goals are:

!Mathematics and algorithms
! Computer science fundamentals
! Physics simulations and modeling systems
! Building powerful tools and possibly designing a programming language someday
! Eventually applying these skills to business and technology

Right now I’m studying algorithms using CLRS (4th Edition) and I have an intermediate level in C#.

I’m confused about which language would give the best foundation for deep technical work. The ones I’m considering are:

C, C++, Rust, Python, C#, MATLAB, CUDA.

I also tend to ask “why” a lot and like understanding how things work at a deeper level.

My FINALquestion:
Should I fully master C# first, or switch to something lower-level like C/C++ or Rust for stronger fundamentals?

What language would you recommend focusing on first and why?.

toxic seal
#

I never tried to fully master a language, and when I look at interviews questions in the language you mentioned, I would say it would be impossible for me. I think it is only useful to learn a language up to the level I need it for, mostly projects, reading other's code, exams, interviews, maybe understanding concepts in an actual implementation.

#

C# seems a good start to me. Learning about garbage collecting in C++ and pointers in C could be useful concepts to design a language someday.

#

As Matlab is a paid and licensed language and even with different paid libraries, I would bend more toward python.

#

As on the one hand C# invented by Microsoft works better in the Windows ecosystem and on the other hand languages like Python were developed in C and interact with C/C++, maybe I would switch to C/C++ given your long term goals.

coarse rivet
coarse rivet
#

But i have one naother question , which books will u guys reccomened me for C++ and C# ?as i m also doing CLRS 4th editon book also!

prime bluff
toxic seal
#

To learn the C++ language, one often advises Scott Meyer or Herb Sutter's books, but as far as algorithms are concerned, you could use Sedgewick's books, Algorithm in C and Algorithms in C++. He did not write books for C# but for Java, Algorithmss in Java.

#

Another book not so well-known but that advanced programmers know is from Alexandrescu, more on the template side.

#

Given your broad interest, the book series The Art of Computer Programming by Donald Knuth might also prove useful. He uses a toy machine language to teach the concepts, but there exists an implementation of it. Notice that he also developed TeX, on top of which LaTeX was written.

toxic seal
#

In CS fundamentals I would include compilation, the process to transform a human understandable language to a machine language.

toxic seal
#

I had a look at Sedgewick's C++ book. It is good to practice algorithms, but the C++ used follows a C adapted style. As an example, he still write i++ in for loops to increment i. I find it bad style because in C++ a good reflex is to write ++i when you can, because in C++ one can override the operator ++, and i++ copies i by by value before incrementing it and delivering it again by value, while ++i works on a reference of i and uses much less resource when i is not an integer).

toxic seal
#

I would also look at programming styles which can vary from one language from another and even from one place to another.

coarse rivet
#

there r many sites and webs online , which teaches programming in avery elegant,deep and intuitive way

#

if u found any one unique ,please end outta it here!

coarse rivet
coarse rivet
#

and also books like

#

C++ Templates: The Complete Guide (2nd Edition) — by David Vandevoorde, Nicolai Josuttis, Douglas Gregor,Modern C++ Design — by Andrei Alexandrescu,Advanced Metaprogramming in Classic C++ — by Davide Di Gennaro! ?

#

its so confusing which to choose

#

even there is one i heard known as CS APP(Computer's systems - a programmer's prespectiview!)

toxic seal
#

I don't see much difference in difficulty between CLRS and Sedgewick, but CLRS only contains algorithms in a pseudo-language while Sedgewick contains actual implementations that one can test.

toxic seal
#

What does ryt stand for?

#

I think that lecture notes on C++ available on the net might bring more pedagogy than books to learn C++. I don't think one can learn every aspects of C++ in one go. It is better to learn with imperfect small programs and few libraries first and then iterate to learn more aspects of the language.

coarse rivet
coarse rivet
#

But should I now close the chat?

toxic seal
#

Maybe I or someone else can come up with other few ideas.

solid skiff
#

Hey! As someone that does mathmatical programming, I would say it doesn't matter really.

#

As long as you don't use some garbage like javascript, most modern languages ( the c languages, python, java, whatever ) are super good enough. From what you said you wanted to do, I would just do whatever you feel most comfortable with, over time you'll learn how to program in any language.

#

Python is fine, I use Julia mainly, which is basically like a python that is based more around math, but something like java also has an infinite amount of math libs.

#

If you're doing well on C# go ahead and use it, you don't need low level for now really.

coarse rivet
#

okay bro

#

i would really tke it care as a thought for the future

#

but for now , i think ik tht i would gonna like more with C++ ,C and C#(lil bit) rather than any high lvl permanent language.......

toxic seal
#

If I wanted to design a programming language someday, I would look at the different implementations of Python in C and bits of C# (IronPython) and possibly C++ (abandoned attempts). I would get an overview of the conceptual and practical tools needed and look at the details of specific topics from time to time during my learning of data structures and algorithms.

solid skiff
polar steeple
solid skiff
#

simpler man

polar steeple
#

Lmao

solid skiff
#

me tired

coarse rivet
coarse rivet
#

but

#

my problem is solved

#

How to close this chat then?

toxic seal
#

+close

coarse rivet
#

okay

#

+close

#

+close

#

?

solid skiff
#

no idea

#

oh this is a discussion

#

just delete it I think?

toxic seal
#

If we stop writing here it should close automatically in a couple of days.

solid skiff
#

j

coarse rivet
#

k

#

!close

#

.close

#

anyways leave it