Welcome Christopher look forward to hearing from you on your progress in linux
Hi @Christopher_Parsons ,
You will keep your mind free for learning C++ if you use simple tools like vi and make.
C++ has a lot of additional features over C. If you were just starting I would say learn C first, but it sounds like you are already into it.
Regards
Neville
Thanks, Neville, already a C programmer and am learning C++ just to keep the old brain working in my 8th decade!
Kind regards Chris
PS I agree with you about syntax highlighting; as someone whose first ide was the punched card, it is something I’ve never really wanted!
Hi Christopher and Neville,
Allow me to ask you a question.
For many years, I haven’t used syntax highlighting either, but have you tried working with syntax hihglighting?
In my case, the code became much easier to read and, I continue to say that it is my personal case, less tiring for my eyes and, because of the colors, it became more “intuitive” compared to monochrome text.
Jorge
Hi @Christopher_Parsons ,
I love that… it was mine too. I reach 80 in a couple of months.
I admire you tackling C++. I tried and chickened out. Went into R instead . R is also object oriented, like C++, but I find it easier to grasp.
If I ever get the time I would like to learn Julia as my next language. I have had a couple of lame attempts, but I need a serious project. The main reason for wanting Julia is it facilitates programming of parallel processing.
When you get going with C++ , do you have a particular project in mind? If it is not private, you might think about sharing it with us. You never know, ideas may help.
Regards
Neville
Sometimes it gets forced onto me, because I am too lazy to configure vi to get rid of it.
It depends… I find anything that interferes with seeing the position of the cursor and being able to read the text under the cursor , is irritating.
I dont mind it finding the closing brackets, that does not interfere with my vision.
I cant see the point of highlighting keywords.
I think my problems might come down to choice of colors and cursor settings…
People got by without it for years… no highlights on punched cards.
The old fashioned way of dealing with identifying a closing brace was to put a comment on the brace line to tell you what it matched.
This worked particularly well in Fortran, where you have statement numbers rather than braces and they can be pages away from the beginning of the loop.
The other important thing is indenting… Originally Fortran had no indenting. It relied entirely on statement numbers . Today you can indent Fortran, just like most other modern languages. Indenting really only helps in short programs.
Hi, Neville,
For a moment, I thought you meant Rust, which I really can’t get on with! R is on my list as it’s good with Maths, another learning project.
No, no real project in mind, I’m plodding through Mr Stroustrup’s book at the moment. It purely is a learning experience, I have not one iota of creativity. I just enjoy the experience… recently revived my knowledge of BAL, you know, just for a laugh!
That is the right book. Always go to the original author if possible.
Find a project if you can … it helps.
Yes, R is good for maths. I do linear algebra with R
Julia is good for maths too.
What’s the difference between R and Julia? Why do they both exist?
R is both a language and a statistical analysis tool. It is the main statistics tool in use today. It is compatable across Linux, BSD, MacOS and Windows… not Android yet.
R is quite old… it is an open source alternative to the proprietary S and Splus languages, and is largely compatable with them . R is an interpreted language, like Python and Basic and Perl. R has a large library of contributed statistical analysis packages… over 3000 packages. R has wonderful publication quality graphics.
Julua is a new modern language. It was designed for scientific computing , and some R people have migrated to Julia. Julia has a user environment like you get in an interpreter, but it is not an interpreter, it uses a Jit compiler. That means Julia programs execute fast… as fast as C or Rust or Fortran. R by comparison is slow.
Julia has libraries, but they are not as extensive as R, because it is new.
The big attraction of Julia for me is that it makes paralkel programming ( ie using more than one thread) easy, because it is built into its syntax.
I am used to R, but I find Julia difficult
Have a look at the Wikipedia pages for R and Julia
Julia is very similar to Python syntax, but it executes faster. Python makes up for that by using thousands of libraries you can install that are written in C or Rust. That way we can work in a higher level language with the speed benefits of compiled languages. PyPI says it has 608,494 packages available. Many of those are in Python, though, not C or Rust.
A few of the most used libraries for data analysis are NumPy, Pandas, Polars, Matplotlib, Seaborne, Scikit-Learn. There are many more.
https://www.datacamp.com/blog/top-python-libraries-for-data-science
Mojo is another new language that is Python-like but faster.
I had to look up PyPI ( Python Package Index)… shows how little I know about Python.
600000 packages… how do they maintain it?
EDIT I see you answered that in the other topic… it is community maintained.
That is different to R… they have professionals in charge.
In R, package submission is very strict… they have to pass tests and must include help pages with examples, and the examples are run to test if they work. A lot of the R libraries and packages use C and Fortran too. That speeds things up because R is interpretreted like Python.
Julia can R routines. Not sure about the other direction.
There is probably not much to choose between Python, Julia, and R for average daily work. It is a matter of familiarity, and being in a rut.
I don’t have all the details, but it is a community effort. Anyone can submit a package to PyPI. There is a small staff paid by the Python Software Foundation to maintain the software and infrastructure that supports PyPI. The bandwidth and storage is donated by different companies.
You do need to be somewhat careful using PyPI. The large, well know packages are great, but there have been malicious packages too.
Have you looked at Geany or Code:Blocks IDE
Hi Eric,
Geany looks interesting… it is a modern text editor that one might use in place of vi or emacs, and has some programming support without being too large or complicated.
That should suit a new programmer
Code::blocks is a real sophisticated full IDE. That seems to be for experienced programmers, not beginners
Regards
Neville