(Topic ID: 309660)

Son needs help w/"C" Programming assignment. Tutor needed (fast)

By iamabearsfan

2 years ago


Topic Heartbeat

Topic Stats

You

Linked Games

No games have been linked to this topic.

    Topic Gallery

    View topic image gallery

    CBook (resized).jpg
    2022-02-1721.37.223380997622096685046.jpg
    20220217_202134 (resized).jpg
    popular-programming-languages.gif
    Screen Shot 2022-02-08 at 10.24.00 AM (resized).png

    You're currently viewing posts by Pinsider megadeth2600.
    Click here to go back to viewing the entire thread.

    #55 2 years ago
    Quoted from ThatOneDude:

    Actually, I'm a vim user, myself, which some might consider even worse

    No. Everything should be done with Vim. Everything. Worse are the horrible GUI based code editors out there (though the Vim plugin for MS VSC makes that tool acceptable ). Neovim is also an acceptable editor. Everything else should be cast into a pit of fire (that includes you emacs zealots out there ;-P).

    On a side/related note, there should be a law against people that use tabs instead of spaces. The law can be simple ... if you use a tab, you lose a finger. Seems cruel, but I'm being fair here. You have 10 chances to learn from your mistake . People can argue that you can define a tab as X number of spaces. I don't care. You still lose a finger . Pretend that key doesn't exist and you won't lose any appendages .

    Regarding C ... there is nothing *that* difficult about it from a syntax standpoint. It used to be a language you'd learn in CS 101 level courses. I think the problems with it these days are twofold. One is that the people teaching it don't really understand how to use it. I'm not saying that to sound like a jagoff and trash people in education ... C is a very old language and isn't as sexy as some of the more modern languages out there. Your typical professor teaching an intro C course these days would probably be in their mid 30s. I'm sure their first experiences with programming using languages other than BASIC were pretty much Java or Perl. Moreover, C was designed to compile into "fast" code ... since hardware is pretty frigging fast these days, optimizations for performance are not as critical as they were in the old days. While some people may cringe reading that, please understand that I am not saying that faster hardware = license to write garbage code ... it's just that one can get a project finished faster using a more higher level language where one would sacrifice performance for time to implement.

    Also, one needs a lot of hands on experience with C to see its power. Any competent professor can teach it ... there is nothing abstract about it when it comes to first year kinds of courses ... but the professors that have actually used it can give a LOT more insight into why the language is the way it is.

    The other, bigger problem in my worthless opinion is that students don't get enough exposure as to how a CPU based system works. Even learning how a basic, older CPU works (like a 6502, 6800, Z80, etc.) makes understanding C easier. I had a lot of experience coding stuff in assembly before I learned C (mainly simple stuff on a 6809 in my TRS80 CoCo, then a 6502 in my C64). Once you have your mind wrapped around the fundamentals of assembly language programming, it is MUCH easier to see how things like pointers work (pointers is where most people seem to choke when programming in C ... they can also lead to really cool bugs like memory leaks if not used properly). One may think that learning how older CPUs work is a waste of time, but the fundamentals still apply (i.e. things like addressing modes, etc).

    Personally, I've grown to prefer more verbose, strict languages ... I use VHDL daily (I design FPGAs for a living ... mainly for realtime image processing applications). While all of the additional syntax (compared to Verilog ... a fine language in and of itself) drives people mad, it helps to prevent a LOT of those corner case issues that pop up on a Friday right before you want to call it quits for the week . That's just me though ... others have a lot of valid reasons why Verilog is better.

    You're currently viewing posts by Pinsider megadeth2600.
    Click here to go back to viewing the entire thread.

    Reply

    Wanna join the discussion? Please sign in to reply to this topic.

    Hey there! Welcome to Pinside!

    Donate to Pinside

    Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


    This page was printed from https://pinside.com/pinball/forum/topic/son-needs-help-w-c-programming-assignment-tutor-needed-fast?tu=megadeth2600 and we tried optimising it for printing. Some page elements may have been deliberately hidden.

    Scan the QR code on the left to jump to the URL this document was printed from.