Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #33422 > unrolled thread

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

Started byTinxx <jeti789@web.de>
First post2013-06-05 04:22 -0700
Last post2013-06-05 21:55 +0200
Articles 16 — 12 participants

Back to article view | Back to comp.lang.c


Contents

  Good bootstrap application to learn C for what C is intended for? Tinxx <jeti789@web.de> - 2013-06-05 04:22 -0700
    Re: Good bootstrap application to learn C for what C is intended for? Öö Tiib <ootiib@hot.ee> - 2013-06-05 04:59 -0700
    Re: Good bootstrap application to learn C for what C is intended for? Bart van Ingen Schenau <bart@ingen.ddns.info.invalid> - 2013-06-05 14:45 +0000
      Re: Good bootstrap application to learn C for what C is intended for? Jorgen Grahn <grahn+nntp@snipabacken.se> - 2013-06-05 21:17 +0000
        Re: Good bootstrap application to learn C for what C is intended for? Ian Collins <ian-news@hotmail.com> - 2013-06-06 11:07 +1200
      Re: Good bootstrap application to learn C for what C is intended for? Tinxx <jeti789@web.de> - 2013-06-06 01:22 -0700
        Re: Good bootstrap application to learn C for what C is intended for? Jorgen Grahn <grahn+nntp@snipabacken.se> - 2013-06-06 15:26 +0000
          Re: Good bootstrap application to learn C for what C is intended for? Seebs <usenet-nospam@seebs.net> - 2013-06-07 22:19 +0000
            [OT] Lua Ivan Shmakov <oneingray@gmail.com> - 2013-06-08 17:31 +0000
              Re: [OT] Lua Tinxx <jeti789@web.de> - 2013-06-09 12:00 -0700
              Re: [OT] Lua David Brown <david@westcontrol.removethisbit.com> - 2013-06-10 09:29 +0200
                Re: [OT] Lua "BartC" <bc@freeuk.com> - 2013-06-10 09:48 +0100
              Re: [OT] Lua David Brown <david@westcontrol.removethisbit.com> - 2013-06-10 09:30 +0200
    Re: Good bootstrap application to learn C for what C is intended for? James Kuyper <jameskuyper@verizon.net> - 2013-06-05 10:55 -0400
    Re: Good bootstrap application to learn C for what C is intended for? "osmium" <r124c4u102@comcast.net> - 2013-06-05 10:02 -0500
      Re: Good bootstrap application to learn C for what C is intended for? Rosario1903 <Rosario@invalid.invalid> - 2013-06-05 21:55 +0200

#33422 — Good bootstrap application to learn C for what C is intended for?

FromTinxx <jeti789@web.de>
Date2013-06-05 04:22 -0700
SubjectGood bootstrap application to learn C for what C is intended for?
Message-ID<e9a68927-fba2-4faf-ab4d-61905b85813d@googlegroups.com>
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

[toc] | [next] | [standalone]


#33423

FromÖö Tiib <ootiib@hot.ee>
Date2013-06-05 04:59 -0700
Message-ID<8482ace3-40b4-41b7-a4a6-8240214a4ec6@googlegroups.com>
In reply to#33422
On Wednesday, 5 June 2013 14:22:52 UTC+3, Tinxx  wrote:
> 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.

[toc] | [prev] | [next] | [standalone]


#33424

FromBart van Ingen Schenau <bart@ingen.ddns.info.invalid>
Date2013-06-05 14:45 +0000
Message-ID<koniun$ghe$1@dont-email.me>
In reply to#33422
On Wed, 05 Jun 2013 04:22:52 -0700, Tinxx wrote:

> 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

[toc] | [prev] | [next] | [standalone]


#33429

FromJorgen Grahn <grahn+nntp@snipabacken.se>
Date2013-06-05 21:17 +0000
Message-ID<slrnkqvao0.3jn.grahn+nntp@frailea.sa.invalid>
In reply to#33424
On Wed, 2013-06-05, Bart van Ingen Schenau wrote:
...
> 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

-- 
  // Jorgen Grahn <grahn@  Oo  o.   .     .
\X/     snipabacken.se>   O  o   .

[toc] | [prev] | [next] | [standalone]


#33430

FromIan Collins <ian-news@hotmail.com>
Date2013-06-06 11:07 +1200
Message-ID<b19ul9Fs5qrU2@mid.individual.net>
In reply to#33429
Jorgen Grahn wrote:
> On Wed, 2013-06-05, Bart van Ingen Schenau wrote:
> ....
>> 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.)

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.

-- 
Ian Collins

[toc] | [prev] | [next] | [standalone]


#33433

FromTinxx <jeti789@web.de>
Date2013-06-06 01:22 -0700
Message-ID<21ee45ab-771f-436b-a6df-f48a5939ae13@googlegroups.com>
In reply to#33424
>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

[toc] | [prev] | [next] | [standalone]


#33452

FromJorgen Grahn <grahn+nntp@snipabacken.se>
Date2013-06-06 15:26 +0000
Message-ID<slrnkr1agr.3jn.grahn+nntp@frailea.sa.invalid>
In reply to#33433
On Thu, 2013-06-06, Tinxx wrote:
>
>>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 :-).

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

-- 
  // Jorgen Grahn <grahn@  Oo  o.   .     .
\X/     snipabacken.se>   O  o   .

[toc] | [prev] | [next] | [standalone]


#33479

FromSeebs <usenet-nospam@seebs.net>
Date2013-06-07 22:19 +0000
Message-ID<slrnkr1jg8.9e4.usenet-nospam@leptop.lan>
In reply to#33452
On 2013-06-06, Jorgen Grahn <grahn+nntp@snipabacken.se> wrote:
> 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
-- 
Copyright 2013, all wrongs reversed.  Peter Seebach / usenet-nospam@seebs.net
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
Autism Speaks does not speak for me.  http://autisticadvocacy.org/
I am not speaking for my employer, although they do rent some of my opinions.

[toc] | [prev] | [next] | [standalone]


#33484 — [OT] Lua

FromIvan Shmakov <oneingray@gmail.com>
Date2013-06-08 17:31 +0000
Subject[OT] Lua
Message-ID<87obbgpkzw.fsf_-_@violet.siamics.net>
In reply to#33479
>>>>> Seebs  <usenet-nospam@seebs.net> writes:
>>>>> On 2013-06-06, Jorgen Grahn <grahn+nntp@snipabacken.se> wrote:

	[Cross-posting to news:alt.comp.lang.lua, just to make keeping
	the track of it easier.]

 >> 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. :)

	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.

-- 
FSF associate member #7257

[toc] | [prev] | [next] | [standalone]


#33496 — Re: [OT] Lua

FromTinxx <jeti789@web.de>
Date2013-06-09 12:00 -0700
SubjectRe: [OT] Lua
Message-ID<1953630d-5c86-4a63-9d24-9b36305c7664@googlegroups.com>
In reply to#33484
>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. The reason 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

[toc] | [prev] | [next] | [standalone]


#33508 — Re: [OT] Lua

FromDavid Brown <david@westcontrol.removethisbit.com>
Date2013-06-10 09:29 +0200
SubjectRe: [OT] Lua
Message-ID<51B58076.7030005@westcontrol.removethisbit.com>
In reply to#33484
On 08/06/13 19:31, Ivan Shmakov wrote:
>>>>>> Seebs  <usenet-nospam@seebs.net> writes:
>>>>>> On 2013-06-06, Jorgen Grahn <grahn+nntp@snipabacken.se> wrote:
> 
> 	[Cross-posting to news:alt.comp.lang.lua, just to make keeping
> 	the track of it easier.]
> 
>  >> 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. :)
> 
> 	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.
> 

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) and simple, then Lua is probably a better choice.  And while
it is possible to mix C and Python using things like swig or ctypes, or
writing python extensions in C, it is usually much simpler (and much
more efficient at run-time) to integrate C code with Lua.

Personally, I write most desktop/server code in Python, but when I want
to add scripting to microcontroller code in C, I use Lua.

[toc] | [prev] | [next] | [standalone]


#33510 — Re: [OT] Lua

From"BartC" <bc@freeuk.com>
Date2013-06-10 09:48 +0100
SubjectRe: [OT] Lua
Message-ID<hqgtt.35942$oh2.10571@fx36.am4>
In reply to#33508
"David Brown" <david@westcontrol.removethisbit.com> wrote in message 
news:51B58076.7030005@westcontrol.removethisbit.com...
> On 08/06/13 19:31, Ivan Shmakov wrote:

>> "mature" state, I don't quite understand, -- why Lua?

> 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!

-- 
Bartc 

[toc] | [prev] | [next] | [standalone]


#33509 — Re: [OT] Lua

FromDavid Brown <david@westcontrol.removethisbit.com>
Date2013-06-10 09:30 +0200
SubjectRe: [OT] Lua
Message-ID<O42dnewNpqUYHSjMnZ2dnUVZ8rednZ2d@lyse.net>
In reply to#33484
On 08/06/13 19:31, Ivan Shmakov wrote:
>>>>>> Seebs  <usenet-nospam@seebs.net> writes:
>>>>>> On 2013-06-06, Jorgen Grahn <grahn+nntp@snipabacken.se> wrote:
> 
> 	[Cross-posting to news:alt.comp.lang.lua, just to make keeping
> 	the track of it easier.]
> 
>  >> 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. :)
> 
> 	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.
> 

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) and simple, then Lua is probably a better choice.  And while
it is possible to mix C and Python using things like swig or ctypes, or
writing python extensions in C, it is usually much simpler (and much
more efficient at run-time) to integrate C code with Lua.

Personally, I write most desktop/server code in Python, but when I want
to add scripting to microcontroller code in C, I use Lua.

[toc] | [prev] | [next] | [standalone]


#33425

FromJames Kuyper <jameskuyper@verizon.net>
Date2013-06-05 10:55 -0400
Message-ID<51AF515B.8000709@verizon.net>
In reply to#33422
On 06/05/2013 07:22 AM, Tinxx wrote:
> 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.

[toc] | [prev] | [next] | [standalone]


#33426

From"osmium" <r124c4u102@comcast.net>
Date2013-06-05 10:02 -0500
Message-ID<b19291FnpmnU1@mid.individual.net>
In reply to#33422
Tinxx wrote:

> 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 

[toc] | [prev] | [next] | [standalone]


#33428

FromRosario1903 <Rosario@invalid.invalid>
Date2013-06-05 21:55 +0200
Message-ID<cs5vq8pm8tnilqth0l69n1jfjsoemkau2l@4ax.com>
In reply to#33426
On Wed, 5 Jun 2013 10:02:55 -0500, "osmium" wrote:

>Tinxx wrote:
>
>> 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 
>

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 "

 :)

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.c


csiph-web