Learning programming languages *split*

as a quick note gotta say that the developer who uses a keyboard whose layout is basically the same as in the picture which Roderic shared, is the same person I asked for advice about what to learn once you have started already.

He recommended me to learn Java (even if he recommended me Java, that's what they teach you where I am studying no matter what you prefer or decide) with Swing and C#.

So I followed his advice. Java requires time and dedication for a newcomer so I couldn't get into C#. Once I did I find it more enjoyable to learn and a bit more elegant, for the lack of a better word. But that's a matter of tastes.
 
Last edited:
The other approach would be to see any programming assignment as a factory line that has resources (data) coming in, and resources (data) coming out, and you are going to try to create as efficient a line as possible.

Then I would try to bring in DDD and MicroService concepts for high-level organization and tie everything together.
That's very interesting, I spent time designing my own programming language, and concluded that there was no point in reproducing existing languages such a C++/D (Swift didn't exist yet). So I started designing a grpahical and textual programming language based around the idea pf factory lines.
It is a data centric approach indeed, and seems to match pretty well what I do in rendering, the idea being, obviously, that work is done concurrently on different tasks and identical tasks depending how you balanced the line yourself (numbers of workers assigned to each task along the line ; with an option for auto balancing ideally).
Have you seen any language/library helping in that regard ?


Cyan said:
What does big O and O(N) stand for?
Wikipedia will explain it better than me, basically it's a way to analyse an algorithm performance : https://en.wikipedia.org/wiki/Big_O_notation
:)
 
In that respect I looked into Articy Draft or whatever it is called now (you can find it on Steam) for designing complex processes and creating actual software from it. It got close to what I wanted then (I wanted the option to test the flows with test objects with filled in parameters, not sure if they have that now).

If you do end up having to flowchart that's not a bad way to do it ;). Second best would probably be prezi.
 
That's very interesting, I spent time designing my own programming language, and concluded that there was no point in reproducing existing languages such a C++/D (Swift didn't exist yet). So I started designing a grpahical and textual programming language based around the idea pf factory lines.
It is a data centric approach indeed, and seems to match pretty well what I do in rendering, the idea being, obviously, that work is done concurrently on different tasks and identical tasks depending how you balanced the line yourself (numbers of workers assigned to each task along the line ; with an option for auto balancing ideally).
Have you seen any language/library helping in that regard ?



Wikipedia will explain it better than me, basically it's a way to analyse an algorithm performance : https://en.wikipedia.org/wiki/Big_O_notation
:)
Aaaaaah,ok...it is the "cota superior asintotica" in my language. :D Big O sounded strange to me.

As for learning languages, it's being intimidating.:oops: I am focused on Java and C#, I like both. I'd also like to learn C++ for some "handicraft" programming, but trust me it's more than enough for now.

However, they are working on an open source C# to C++ translator called CoreRT and if it ever works fine it would make learning C++ a bit easier for people like me who started with more recent languages.

http://www.opptrends.com/2016/10/mi...e-translation-from-c-to-c-easier-with-corert/
 
Translators are inherently crappy. You can look at the Vala language if you want to see a failed example.
 
Translators are inherently crappy. You can look at the Vala language if you want to see a failed example.
too complex stuff for me now, so I am going to wait til learning a bit more of Java and C# and so on, and then test translators and the like.

I think you people will like this. Usborne editorial has just published a couple of days ago some of their 80s books to learn programming.The books included programs for such computers as the ZX Spectrum, the BBC Micro and the Commodore 64:

https://usborne.com/browse-books/features/computer-and-coding-books/
 
Now, in regards to books, I've been reading quite a few!! And...NONE of them comes closer to the level of enjoyment of Rob Miles books, and how much you can learn with them, for those beginning at programming (or not). Both books listed below are from this year 2016.

He has The C# Yellow Book :) available for free. A great read, as his other books:

http://www.robmiles.com/c-yellow-book/

This genius British writer also has another book. This one is not free -it costs around 30€-, but it is worth every single penny!! It's my second ever digital book. :)

Again, he shows his great writing skills and learning how to program with this book is fun and soooo instructional, educational....

Begin to Code with C# is the title of the book. With this you can learn how to program Universal Apps, multiplatform stuff (Android, iOS, but I think Xamarin Studio is the way to go for that) and so on.

Basically learning a language.

As part of the book, and for free, he has the Snaps and the sample code of some exercises of the book. The best about them is that he teaches you to think programs your own way and create them using your solutions from the things you learn, rather than just provide you with a solution. It's not meant at all for it to make things for you, but to learn.

https://www.microsoftpressstore.com/store/begin-to-code-with-c-sharp-9781509301157#downloads

There is a review on it, on what to find and how this book teaches you how to program (it will work for several programming languages):

http://www.i-programmer.info/bookreviews/2-csharp/10180-begin-to-code-with-c.html
 
Last edited:
I think c# is an excellent language. Have tried a bit of c++, java and python, but I'm liking c sharp more. Also heard they've recently open sourced some stuff.
 
I think c# is an excellent language. Have tried a bit of c++, java and python, but I'm liking c sharp more. Also heard they've recently open sourced some stuff.
yes, the NET libraries are open source now -they did that a few years back-, then you have Xamarin Studio to create multiplatform applications.

As for languages, I would love to learn C++ now that you mention it, for the low level stuff. You can king of go there with the /unsafe tag in C#, but anyways..also Haskell.

They teach me Java where I study, and it's ok with me. I can say though that I like C# more, it's difficult to explain why, but at the same time the reasons are obvious for me, maybe it's the style, I don't know.
 
that being said, I am quite happy to learn Java, in fact I think the language you use is not that important, there are different tools to get certain things done. Even so, again each language has its own appeal and flair that makes you more fond of it than others. You don't learn a programming language, you learn programming.

Once that's achieved, learning a programming language can't be that hard. BUT having experience with the library of a certain programming language is however the real difficulty. That's why I kinda favour C#, because have I to go through the process of learning the ins and outs of a programming language, I prefer C# for quite a few reasons --call it appeal or flair or whatever.

I don't see myself becoming an expert in several languages -one or two at most-, but it's better to know a bit about several different languages thus you learn more programming techniques and stuff until you have a real focus.

Haskell and Objective C are going to be the next for me. Haskell sounds cool for the future, I've read some professional programmers commenting on the fact that Objective C is hard to learn, but it's based on C and I am interested.
 
One thing I do when learning new languages or frameworks is a multi-threaded program that prints out primes in the correct order while the program is running. I think it is a small sized problem but you have to look at some important issues like concurrency and simple data structures.
 
I'd pick C++ since it only takes a day
CCxeqMy.jpg
 
Haskell and Objective C are going to be the next for me. Haskell sounds cool for the future, I've read some professional programmers commenting on the fact that Objective C is hard to learn, but it's based on C and I am interested.

Drop everything and learn Haskell ! (if you can).

I'm struggling to justify the time for it so if you have some energy and enthusiasm use them for your own sake. You will step into a world of new and strange concepts and you will come out as a better woman/man afterwards. Of course, you may take it slow but don't give up this purpose you've set for you.

While a programming language is just a tool, you will hopefully see that being familiar with more such tools will make you a much more capable programmer anyway. And you will know to explain better why you prefer c# over java ;) . Being a proficient java programmer and having never used c# i can already agree with you that c# is significantly nicer :D
 
Back
Top