Page 4 of 201

Re: Random Thread

Posted: Wed Nov 13, 2019 1:21 pm
by Travis B.
The matter with Java programmers is probably an example of "if the only tool one has is a hammer, all problems will look like nails".

Re: Random Thread

Posted: Wed Nov 13, 2019 4:00 pm
by Ares Land
Ryusenshi wrote: Tue Nov 12, 2019 11:25 pm I'm still trying to figure out how to actually use object-oriented programming. As in, I understand how it works, but I'm still not sure when I'm supposed to think "hey, I know how to do this thing I want to do: I should create a new class". I've heard that people who started programming with Java (where everything has to be an object) have the opposite problem when using another language: they tend to make new classes everywhere, even when it's not particularly appropriate.
My advice would be to check out design patterns. You'll end up using these a lot (especially MVC and singletons), and they give some insight into good OOP programming.

In Java, these days, you'll be mostly using a framework (and by "a framework" I mean "Spring") anyway, so you'll end up coding in a way that fits the framework.

Re: Random Thread

Posted: Wed Nov 13, 2019 11:03 pm
by malloc
I have been told many times that C is pretty much obsolete and that I am silly for taking such an interest in it. Would you consider that accurate?

Re: Random Thread

Posted: Thu Nov 14, 2019 3:24 am
by alice
malloc wrote: Wed Nov 13, 2019 11:03 pm I have been told many times that C is pretty much obsolete and that I am silly for taking such an interest in it. Would you consider that accurate?
No, because it is the basis of so much else. But once you're comfortable with it, it's worth moving on to more powerful programming concepts and languages.

Re: Random Thread

Posted: Thu Nov 14, 2019 8:55 am
by alynnidalar
malloc wrote: Wed Nov 13, 2019 11:03 pm I have been told many times that C is pretty much obsolete and that I am silly for taking such an interest in it. Would you consider that accurate?
If your intent is to get a job as a software engineer/web developer working on new development/modern languages, then yes, it is very obsolete. I would never say someone was silly for taking a deep interest in it, but there is a very, very limited job market for C programmers to write new software. New software--and definitely web development, which is where a lot of new software has moved to--simply does not use C.

If you're interested in embedded systems, operating systems, or working on very old software (although even then a lot of it is C++), then it's less obsolete, although it's still not a thriving job market. A lot of the jobs are already taken by people who've been doing it for years, so my understanding is it can be difficult to break into.

If you aren't interested in a job at all, and are focused on C simply because you like it, then that's a different situation entirely! Go forth and enjoy yourself, and don't listen to people calling you silly. It's still a great and perfectly functional language, even if it isn't very common anymore.

(as for C being the basis of many other languages, and therefore a grounding in it being useful--sure, to an extent. I learned C++ in school and it exposed me to a lot of useful fundamentals about how programming languages work practically, but then I got an actual web development job using C# and Java and have rarely thought about pointers since. So again I think it comes down to what you want to do with your C knowledge. A basic grounding? Broadly helpful no matter what sort of programming you do later. A deep understanding of every aspect? Not directly useful unless you'll be working on low-level embedded-system-type programming. And don't underestimate the learning curve of going from C to a modern programming language that's inherently object-oriented. It's a real mental shift.)

Re: Random Thread

Posted: Fri Nov 15, 2019 4:12 pm
by Travis B.
To me C is essentially portable assembly, for better or for worse. On one hand it is hard to write secure code in it without being very disciplined about one's coding (this is also true of C++ and Objective C). On the other hand, its only competitors in the embedded space are Forth and assembly. It is a good language to program in if one is intent on squeezing every last cycle of performance or every last byte of RAM out of the system, which very often is the case in embedded applications.

Re: Random Thread

Posted: Fri Nov 15, 2019 4:20 pm
by Travis B.
Personally I would suggest learning both a very high level language, such as Haskell, OCaml, Scheme, Erlang, or like, and a very low level language, such as C, Forth, or assembly (I do not recommend x86 or x86-64 assembly though), simultaneously. This will expose you both to very abstract programming and very concrete programming close to the metal; in the latter case I would suggest actually programming on an embedded system, such as one of the DISCOVERY boards from STM (avoid the "Blue Pill" boards - they're horrible), so you'll learn how to actually program on bare metal.

Re: Random Thread

Posted: Sat Nov 16, 2019 1:53 am
by Pabappa
i took a Visual Basic course once and made a few very simple games, plus a calculator that automated conversion between bases and a few other functions that I used to generate PIN numbers. I've made a few games in proprietary languages like GameMaker and BlitzMax, and a few Neverwinter Nights modules. There was also OpenLegends, from way back, but that was largely graphical. GameMaker's UI was largely graphical as well but the particular game I made involved writing large amounts of code even so.

I learned some Javascript once but Ive never really liked it. I know a few lines of PHP but I just borrow code that I find elsewhere.

But yet I would be utterly helpess if I had to program anything in C, C++, perl, python, etc .... all the big languages. In fact I would probably get nowhere in any of the languages that have been mentioned so far on this thread. So I only bring this up to show that I managed to create something with very little programming knowledge and that it doesnt take years of practice just to get one working program up.

Of course, I was in the generation that programmed with LOGO in third grade, and I had had some experience with BASIC when I was even younger than that, so Ive been with programming for quite a long time, but .... I dont know if the early childhood experience really helped me all that much in the long run. Even Visual Basic was quite different from the BASIC i grew up with.

Re: Random Thread

Posted: Sat Nov 16, 2019 3:46 am
by akam chinjir
I remember third-grade Logo! (Okay, "remember" might be the wrong word.) I also remember Basic with line numbers.

I've ended up doing most of my (hobbyist) programming in C, though there was a point at which I was thinking about using an SCA project to develop my Haskell.

Re: Random Thread

Posted: Sat Nov 16, 2019 7:33 am
by masako
42

Re: Random Thread

Posted: Sat Nov 16, 2019 10:23 am
by alice
Of course, you can't expect to be taken seriously as a programmer unless you have a thorough knowledge of INTERCAL.

Re: Random Thread

Posted: Sat Nov 16, 2019 1:59 pm
by Kuchigakatai
alice wrote: Sat Nov 16, 2019 10:23 amOf course, you can't expect to be taken seriously as a programmer unless you have a thorough knowledge of INTERCAL.
https://en.wikipedia.org/wiki/Shakespea ... g_Language

Re: Random Thread

Posted: Sat Nov 16, 2019 2:12 pm
by alice
There's that, too, if you want to show off your breeding.

Re: Random Thread

Posted: Sat Nov 16, 2019 2:23 pm
by Pabappa
oh right, i forgot there was a programming language called Alice. Very nice for beginners .... i made an animation in it once when it was very primitive. it seems theyve come a long way. but you likely cant make a game that runs at a speed comparable to mainstream games. It seems its based on Java, which is already a VM, so .... its perhaps like running a VM in a VM.

https://www.alice.org/

Perhaps this is to the kids of today what LOGO was to us then.

Re: Random Thread

Posted: Sat Nov 16, 2019 3:16 pm
by Pabappa
On the local news last night .... yes, I hate TV but when Im with my parents we watch Jeopardy ... there were two stories in a row involving daycare centers. One daycare provider was caught with 26 kids in their basement, which is illegal because of regulations regarding how many kids can be present per square foot per day. The reporter told us that the kids were unharmed and ended with "the provider was not arrested, but charges may be filed".

The second story involved a daycare provider who wrote a note to one kid's mom saying that the kid was overwight and needed to be put on a diet. But the reporter seemingly got a little confused here because she ended the story with the same word for word "The provider was .... not arrested, but ...." and then trailed off realizing her mistake.

Re: Random Thread

Posted: Sat Nov 16, 2019 4:11 pm
by Travis B.
Pabappa wrote: Sat Nov 16, 2019 2:23 pm oh right, i forgot there was a programming language called Alice. Very nice for beginners .... i made an animation in it once when it was very primitive. it seems theyve come a long way. but you likely cant make a game that runs at a speed comparable to mainstream games. It seems its based on Java, which is already a VM, so .... its perhaps like running a VM in a VM.

https://www.alice.org/

Perhaps this is to the kids of today what LOGO was to us then.
My daughter has been working with an environment in school where you program by stringing blocks together which each specify a command for doing something; I forget the name of it.

I remember working with LOGO in elementary school myself. On my own I also learned Applesoft BASIC and 6502 assembly, but I actually liked LOGO because it was actually a structured programming language, unlike Applesoft BASIC or 6502 assembly.

Re: Random Thread

Posted: Sun Nov 17, 2019 3:33 am
by alice
I once wrote a LOGO interpreter in BASIC. It didn't actually work that badly, although it ran into problems with nested commands. (I was only 15 at the time; be fair.)

Re: Random Thread

Posted: Sun Nov 17, 2019 7:29 pm
by Travis B.
I just added preemptive multitasking (which is optional) to my Forth implementation.

Re: Random Thread

Posted: Mon Nov 18, 2019 2:38 am
by Pabappa
Someone posted "My son died this morning." on Twitter and the first thing I saw was a person I follow having ♥liked that tweet. I thought either he was deliberately antagonizing her, or the post about the death was a joke, (this person is a comic artist and posts offensive things all the time) .... but it was genuine.

I guess twitter culture is such that you can only ♥like, not dislike, so hitting the ♥ button is almost a reflex and to do it in situations like this is not seen as offensive. Still Im surprised that he pressed the button but did not type out a reply (unless he did it in private).

Re: Random Thread

Posted: Mon Nov 18, 2019 11:34 am
by Linguoboy
I don't know twitter culture, but some years ago someone twigged me to the fact that "Like" on Facebook had been devalued to "I have seen this". This was apparently part of the motivation for introducing a "❤" response.

Of course, the ❤ response is complicated as well because I see it used both for "I love this" (i.e. the news is very pleasing to the respondent) and as "I love you" (i.e. the poster is very dear to the respondent). The latter is a common response to bad news but, IME, context makes the meaning very clear. Someone who deliberately wants to be shitty in response to someone's tragic news will respond with " :lol: ".