Good bootstrap application to learn C for what C is intended for?

T

Tinxx

Hello,

I want to get myself a bit into C. I already worked from "C how to program"by Deitel. Now I'm looking for some good "bootstrap application" or sparetime project to work on to improve skills. Some kind of little "research vehicle". What I found were good books about image processing in C or socket programming or driver programming. For the book about driver programming youalready need to understand C quite well. My question is what kind of application is typically written in C from the given list above (or maybe aditional ones not on my list ...) so that you learn to use the language for whatit was designed. Don't really know ...

Thank you, Tinxx
 
Ö

Öö Tiib

I want to get myself a bit into C. I already worked from "C how to
program" by Deitel. Now I'm looking for some good "bootstrap
application" or sparetime project to work on to improve skills. Some
kind of little "research vehicle". What I found were good books about
image processing in C or socket programming or driver programming. For
the book about driver programming you already need to understand C
quite well. My question is what kind of application is typically
written in C from the given list above (or maybe aditional ones not
on my list ...) so that you learn to use the language for what it
was designed. Don't really know ...

Likely it depends on your age and other interests. Sockets and drivers
might be good for writing software that interfaces with other household
devices. It can be very exiting. Avoid interfacing with household devices
of your neighbors without consulting them first, that is illegal. Digital
image processing can be also quite interesting.

Typically people learn to program when they are young and so they usually
among first things write some simple computer game to amuse their friends
as first thing. Also it is possible to write programs that interfere or
modify some existing game. Avoid interfering and modifying on-line
games (or their servers), that is illegal.
 
B

Bart van Ingen Schenau

Hello,

I want to get myself a bit into C. I already worked from "C how to
program" by Deitel. Now I'm looking for some good "bootstrap
application" or sparetime project to work on to improve skills. Some
kind of little "research vehicle". What I found were good books about
image processing in C or socket programming or driver programming. For
the book about driver programming you already need to understand C quite
well. My question is what kind of application is typically written in C
from the given list above (or maybe aditional ones not on my list ...)
so that you learn to use the language for what it was designed. Don't
really know ...

Thank you, Tinxx

C was designed for systems programming, which basically means that you
can use it for anything and everything (although, there are other
languages that nowadays are a better fit in some areas).

As programming, regardless of the language, can become tedious at times,
the best advise for a spare-time project is to look for things that
interest you.
In my experience, that is a hard requirement if you want to see the
project to a successful end. Without the interest factor, after a while
you /will/ find better things to do with your spare time.

Bart v Ingen Schenau
 
J

James Kuyper

Hello,

I want to get myself a bit into C. I already worked from "C how to
program" by Deitel. Now I'm looking for some good "bootstrap
application" or sparetime project to work on to improve skills. Some

I think you mean "starter" rather than "bootstrap". The term uses
something that's literally impossible to do (lifting oneself up by one's
own bootstraps) as a metaphor to describe situations where getting
started requires very careful planning: early steps need to install
functionality required for later steps - do the steps in the wrong order
and everything fails. Learning C isn't as tricky as bootstrapping - you
can fail and start over, benefiting from what you learned from the failure.
kind of little "research vehicle". What I found were good books about
image processing in C or socket programming or driver programming.
For the book about driver programming you already need to understand
C quite well. My question is what kind of application is typically
written in C from the given list above (or maybe aditional ones not
on my list ...) so that you learn to use the language for what it was
designed. Don't really know ...

C is a general-purpose language, though a very low-level one, so there's
no well-defined typical C application. When C was first being developed,
the two main things it was used for were implementing the C compiler,
and also Unix, the OS where the C compiler was running (that's true
bootstrapping). It's still often used to implement higher-level
languages, and for systems programming, so if forced to identify
"typical" C applications, I'd identify those.

However, I personally have almost never used C for either of those
purposes; I've used it almost exclusively for scientific data
processing, and I know other people who have written financial software
in it. You'll get better guidance for your choice of starter application
by looking at your own interests, rather than at "typical" C programs.
 
O

osmium

Tinxx said:
I want to get myself a bit into C. I already worked from "C how to
program" by Deitel. Now I'm looking for some good "bootstrap
application" or sparetime project to work on to improve skills. Some
kind of little "research vehicle". What I found were good books about
image processing in C or socket programming or driver programming.
For the book about driver programming you already need to understand
C quite well. My question is what kind of application is typically
written in C from the given list above (or maybe aditional ones not
on my list ...) so that you learn to use the language for what it was
designed. Don't really know ...

The link is to a half a bazillion problems that could be solved in C.

http://www.spoj.com/problems/classical/sort=0,start=950
 
R

Rosario1903

The link is to a half a bazillion problems that could be solved in C.

http://www.spoj.com/problems/classical/sort=0,start=950

from "http://www.spoj.com/problems/CPU/"

4004. Exploding CPU
Problem code: CPU

"It has, however, one considerable problem. The scientists at the
testing lab has just found out that the PFACT instruction for some
special input values freaks out and makes the entire processor
explode. Even though this could be an amusing effect, it is not the
way it was intended to work. The skilled mathematicians have, by trial
and error, found that the explosive numbers all share the same
interesting number theoretic properties, which might be of help when
troubleshooting. An explosive number is a number x = p0p1p2 . . . pn "

:)
 
J

Jorgen Grahn

.
As programming, regardless of the language, can become tedious at times,
the best advise for a spare-time project is to look for things that
interest you.
In my experience, that is a hard requirement if you want to see the
project to a successful end. Without the interest factor, after a while
you /will/ find better things to do with your spare time.

Yes. And safest is to pick something which is useful before it's 100%
complete. (Writing unit tests helps somewhat -- they aren't useful in
that sense, but at least you get to see your code running.)

/Jorgen
 
I

Ian Collins

Jorgen said:
.

Yes. And safest is to pick something which is useful before it's 100%
complete. (Writing unit tests helps somewhat -- they aren't useful in
that sense, but at least you get to see your code running.)

One way unit tests can help in maintaining interest is they allow the
programmer to experiment (or try a new language) in non-production code.
 
T

Tinxx

As programming, regardless of the language, can become tedious at times,
the best advise for a spare-time project is to look for things that
interest you.

Yeah, I think there is some truth to this. Think I found something that will be fun and also serves well to develop skills: Calling Lua from C and vice versa. I really like Lua, so that should be fun :). Then doing some network programming using zeromq would be cool.

hanks for any answers.
Cheers, TInxx
 
J

Jorgen Grahn

Yeah, I think there is some truth to this. Think I found something
that will be fun and also serves well to develop skills: Calling Lua
from C and vice versa. I really like Lua, so that should be fun :).

That /is/ a good idea (the general one: learning C by using it for
extensions to your favorite scripting language). We should remember
to suggest that the next time someone asks.

/Jorgen
 
S

Seebs

That /is/ a good idea (the general one: learning C by using it for
extensions to your favorite scripting language). We should remember
to suggest that the next time someone asks.

It is. And I quite like Lua, too. :)

-s
 
I

Ivan Shmakov

[Cross-posting to just to make keeping
the track of it easier.]
It is. And I quite like Lua, too. :)

I wonder, what's so good in Lua specifically?

Indeed, it seems to be one of the first "embeddable" languages
to appear, but now that a number of them (including a variety of
Lisp derivatives, Python, and of course Tcl) has reached the
"mature" state, I don't quite understand, -- why Lua?

And personally, I tend to like Tcl for the purpose, mainly for
its well-designed FFI, its support for Unicode, and that it
looks like a mature language for years now.

(... But more than that, I like to embed C into HLL software,
such as that written in Perl, -- and not the other way around.)

PS. I hadn't yet the chance to say I'm glad to see you're back to
Usenet. So I do it now.
 
T

Tinxx

That /is/ a good idea (the general one: learning C by using it for
extensions to your favorite scripting language). We should remember
to suggest that the next time someone asks.

I will. Yeah, I was also happy when I got that idea :).
I wonder, what's so good in Lua specifically?

Well, different people will each answer this question in their own way. Thereason I like Lua is that it is to some extend some meta-programming language. For instance, Lua is not object-oriented. But the table construct it is built on is that general that you can implement inheritance and message sends in Lua. I like languages that are simple and powerful ;-).

-- Tinxx
 
B

BartC

David Brown said:
On 08/06/13 19:31, Ivan Shmakov wrote:
Lua is much smaller than Python (in terms of the language, the libraries
and the implementation). If you need a powerful and flexible language
with all the bells, whistles and libraries you could imagine, go for
Python. But if you need something small, fast (for an interpreted
language)

Using LUAJIT, some Lua benchmarks ran faster than their C counterparts!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,808
Messages
2,569,684
Members
45,443
Latest member
sol

Latest Threads

Top