Login Register






Thread Rating:
  • 0 Vote(s) - 0 Average


I'm back! Let's talk C. filter_list
Author
Message
RE: I'm back! Let's talk C. #11
(10-26-2017, 09:51 PM)Pikami Wrote: My favorite part about C is that it runs on everything, from PC to phones to routers and other small devices

That's because C is an intermediate. The same source code gets translated into different assembly code for each system, the opposite of Java.

Reply

RE: I'm back! Let's talk C. #12
(10-22-2017, 11:34 PM)DarkMuse Wrote: the useless garbage collector that Java uses

I mean I don't really like Java but that's like the only thing I would give to them 0.0
GPG key:
https://pgp.mit.edu/pks/lookup?op=get&se...B335BFCADA

Sig:
D96D 0220 0E13 CE13 8C6C  D697 F68B 0EB3 35BF CADA

Reply

RE: I'm back! Let's talk C. #13
(10-26-2017, 10:27 PM)Inori Wrote: Like @"insidious" I like C for its simplicity. Nothing is abstracted, there are only a few pretty simple rules to follow, and it's difficult to fuck everything up if you pay attention to what you're doing. On the other hand, strings are a bit of a bitch to work with (coming from a functional/OO background), but it's manageable.

What is difficult about c-strings? I am not trying to be discourteous.
B573 FC59 76EE A726

Reply

RE: I'm back! Let's talk C. #14
(11-05-2017, 08:52 PM)peter lee Wrote:
(10-26-2017, 10:27 PM)Inori Wrote: Like @"insidious" I like C for its simplicity. Nothing is abstracted, there are only a few pretty simple rules to follow, and it's difficult to fuck everything up if you pay attention to what you're doing. On the other hand, strings are a bit of a bitch to work with (coming from a functional/OO background), but it's manageable.

What is difficult about c-strings? I am not trying to be discourteous.

C-strings confuse many people who are used to strings actually existing..

Reply

RE: I'm back! Let's talk C. #15
(10-23-2017, 12:46 AM)phyrrus9 Wrote:
(10-23-2017, 12:23 AM)DarkMuse Wrote:
(10-22-2017, 11:38 PM)Drako Wrote: I'm currently "attempting" to learn Python. Although I Havn't really looked into any C based languages as of late.

I'm also in a python class but its more about software engineering w/ python, so far, it's uncomfortable.

that's a weird class to run.... you don't do software engineering with python. python's only use is writing a shitty little fix-it script that you run once and throw away.

That's a very distorted view of the uses of Python.
"If you look for the light, you can often find it. But if you look for the dark, that is all you will ever see.”


Reply

RE: I'm back! Let's talk C. #16
I was actually thinking about learning this language. As of now I'm a newbie, no shame no shame, practicing my skills with writing in linux, but the book I'm reading has C in it. Is it worth a go go for a self teacher?

Reply

RE: I'm back! Let's talk C. #17
(11-12-2017, 09:20 PM)Bootlegronin47 Wrote: I was actually thinking about learning this language. As of now I'm  a newbie, no shame no shame, practicing my skills with writing in linux, but the book I'm reading has C in it. Is it worth a go go for a self teacher?

Don't ever be shameful of your skills. Just by knowing that programs aren't written in English you are more advanced than thousands of web programmers.

I'm entirely self taught in C, AArch64 (ARM), ARMv4-7, C#, and Java, and I like to believe that I'm very good at some of those. I didn't use books though, I tried to take a hands on approach. I picked a project I wanted to do, one good example of that is a console-based DnD type game called Key Seeker 4200 which I open sourced in 2012 (https://github.com/phyrrus9/ksclassic). I then used the basic hello world program (link)) as a template, and I worked with it. I followed a pretty simple algorithm:

1. Determine task (what I wanted to do, in small steps)
2. Write pseudo code (in words and basic math, write out how the task works)
3. Translate pseudo code to C, using google when I didn't know how to do something
4. Repeat until project finished

Doing this over and over has caused me to become very close friends with the C language, I understand its operation inside and out. The trick with this method is you need to pick projects that get harder each time. Every project you start should be almost entirely made up of things you don't know how to do. Making them more difficult forces your brain to learn how the language works, rather than just memorizing how to do things. Over time you will memorize the standard library, but really you just need to know the names of the functions, since you can just open up your linux terminal and run (for example, memcpy)
Code:
man memcpy
[Image: hUECOaM.png]

Sometimes though, you will find a couple stdlib functions that are also linux commands, and you'll have to do it differently: examples
Code:
man unlink
[Image: acgpqPn.png]
this is a linux command, you need the C library version, so you need
Code:
man 2 unlink
[Image: alrl5Wl.png]

You can understand how man works by running
Code:
man man

It's a very useful reference though, don't bother using websites for this, as they don't always give the correct information, or even worse are written for C++. The linux manual will always have the same library definitions for what's on your system, and is always the best resource in my opinion.

Feel free to get ahold of me either on the forum here or on discord. I'm happy to help.
If you want ideas for projects, feel free to browse my GitHub. You may use anything you find on there, many of those projects are personal ones I've started to keep my skills fresh and never finished. Link: https://github.com/phyrrus9?tab=repositories
(This post was last modified: 11-13-2017, 10:20 PM by phyrrus9.)

[+] 2 users Like phyrrus9's post
Reply







Users browsing this thread: 1 Guest(s)