473,406 Members | 2,387 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

want to begin C

I started to learn C++ from my friend's book, C++ Primer. in the
beginning it went good but after i finished 5 chapters it became
complicated. C++ seems like a language with too many features and
functions and right now it seems too complicated and bloated for my
brain. i just want to become a Hacker and no other special intentions
for learning a language. i use BLAG Linux at my home computer (as
advised in "How to Become a Hacker" by Eric S. Raymond).

C seems like an essential language of Hacking and searching the
archives tells me K&R2 is the book to go. i found the mentioning of
K.N. King too but can't find it in on any online Indian book store.
anyway K&R2 is pretty cheap for a poor guy like me (just 100 rupees)
and i am not a beginning programmer since i have learnt some C++
already.

any advice before i start to walk on the path of a Hacker.

[NOTE: the views i expressed on C++ are purely my personal]

Aug 20 '07 #1
9 1508
pandit wrote:
I started to learn C++ from my friend's book, C++ Primer. in the
beginning it went good but after i finished 5 chapters it became
complicated. C++ seems like a language with too many features and
functions and right now it seems too complicated and bloated for my
brain. i just want to become a Hacker and no other special intentions
for learning a language. i use BLAG Linux at my home computer (as
advised in "How to Become a Hacker" by Eric S. Raymond).
Hackers tend to think independently, not ape the advice of someone else.
C seems like an essential language of Hacking and searching the
archives tells me K&R2 is the book to go. i found the mentioning of
K.N. King too but can't find it in on any online Indian book store.
anyway K&R2 is pretty cheap for a poor guy like me (just 100 rupees)
and i am not a beginning programmer since i have learnt some C++
already.

any advice before i start to walk on the path of a Hacker.
Becoming skilled in programming and system administration is undoubtedly
tough and a long road. Take it one step at a time. As you said, C is an
ubiquitous language used at the system level, and K&R2 is an excellent
place to start. I also suggest learning at least shell scripting and Perl,
since these two are used all over the place in UNIX type systems. After
K&R, there are more advanced books like C Unleashed, C Interfaces and
Implementations etc. Concentrate on basic algorithms and the art of
decomposing a complex problem into simple, semi-independent steps. Learning
an assembler language is always very useful to get a machine level
perspective. Also don't miss reading books like Software Engineering by
Sommerville, Code Complete by McConnell and of course The Art of Computer
Programming by Knuth.

Programming is a never ending journey since the, even as you learn more, the
field advances. As far as languages go, apart from C, as I said earlier,
shell, Perl, assembler and Python are good choices. Unless you're forced
to, avoid proprietary languages like C#, VB etc. They'll just waste your
time.

The best advice is to take everything a step at a time and think about what
you're learning. It's also critical to practise or try each concept, with
example programs or pseudo-code, before moving on.

Aug 20 '07 #2
pandit <ja*****@gmail.comwrote:
any advice before i start to walk on the path of a Hacker.
Consider this: the more you look for the Path, the further you stray
from it.

Richard
Aug 20 '07 #3
On Mon, 20 Aug 2007 12:29:38 +0000, pandit wrote:
I started to learn C++ from my friend's book, C++ Primer. in the
beginning it went good but after i finished 5 chapters it became
complicated. C++ seems like a language with too many features and
functions and right now it seems too complicated and bloated for my
brain.
No kidding! To steal a metaphor, if bloatedness were a brick, C++
would be the Great Wall of China.

Aug 20 '07 #4
Ivar Rosquist wrote:
On Mon, 20 Aug 2007 12:29:38 +0000, pandit wrote:
>I started to learn C++ from my friend's book, C++ Primer. in the
beginning it went good but after i finished 5 chapters it became
complicated. C++ seems like a language with too many features and
functions and right now it seems too complicated and bloated for my
brain.

No kidding! To steal a metaphor, if bloatedness were a brick, C++
would be the Great Wall of China.
I'm not huge fan of the language (mostly because I've had to maintain
code created during the great March To Standardization) but it was
created to solve a problem that many languages of the day were poor at
doing.

That is, C++ was intended to solve completely different problems than C
currently does, and that "bloat" we are talking about is more about
larger-scale application maintenance using standard frameworks.

Not a finely tuned hacker tool, but it was never intended as such.
--
clvrmnky <mailto:sp******@clevermonkey.org>

Direct replies will be blacklisted. Replace "spamtrap" with my name to
contact me directly.
Aug 20 '07 #5

"Richard Bos" <rl*@hoekstra-uitgeverij.nlwrote in message
news:46*****************@news.xs4all.nl...
pandit <ja*****@gmail.comwrote:
>any advice before i start to walk on the path of a Hacker.

Consider this: the more you look for the Path, the further you stray
from it.
I was thinking something like that as well but oh well when he doesnt go as
fast as he wishes and gets bored so be it :)
It wont hurt him learning about linux and coding
Aug 20 '07 #6
Clever Monkey <sp******@clevermonkey.org.INVALIDwrites:
Ivar Rosquist wrote:
>On Mon, 20 Aug 2007 12:29:38 +0000, pandit wrote:
>>I started to learn C++ from my friend's book, C++ Primer. in the
beginning it went good but after i finished 5 chapters it became
complicated. C++ seems like a language with too many features and
functions and right now it seems too complicated and bloated for my
brain.

No kidding! To steal a metaphor, if bloatedness were a brick,
C++ would be the Great Wall of China.
I'm not huge fan of the language (mostly because I've had to maintain
code created during the great March To Standardization) but it was
created to solve a problem that many languages of the day were poor at
doing.

That is, C++ was intended to solve completely different problems than
C currently does, and that "bloat" we are talking about is more about
larger-scale application maintenance using standard frameworks.
And that is exactly where C++ screws up IMO. At the end of the day
frameworks designed and developed in C++ end up having another
"language" on the language which can often be a nightmare.

I always called it the bath time test. Try printing out some C++ and
reading the code in the bath. You better to hell know the overloading
and class hierarchies and the privates/publics back to front or you will
never understand a thing.

>
Not a finely tuned hacker tool, but it was never intended as such.
--
Aug 20 '07 #7
Richard wrote:
Clever Monkey <sp******@clevermonkey.org.INVALIDwrites:
>Ivar Rosquist wrote:
>>On Mon, 20 Aug 2007 12:29:38 +0000, pandit wrote:

I started to learn C++ from my friend's book, C++ Primer. in the
beginning it went good but after i finished 5 chapters it became
complicated. C++ seems like a language with too many features and
functions and right now it seems too complicated and bloated for my
brain.
No kidding! To steal a metaphor, if bloatedness were a brick,
C++ would be the Great Wall of China.
I'm not huge fan of the language (mostly because I've had to maintain
code created during the great March To Standardization) but it was
created to solve a problem that many languages of the day were poor at
doing.

That is, C++ was intended to solve completely different problems than
C currently does, and that "bloat" we are talking about is more about
larger-scale application maintenance using standard frameworks.

And that is exactly where C++ screws up IMO. At the end of the day
frameworks designed and developed in C++ end up having another
"language" on the language which can often be a nightmare.

I always called it the bath time test. Try printing out some C++ and
reading the code in the bath. You better to hell know the overloading
and class hierarchies and the privates/publics back to front or you will
never understand a thing.
I good yardstick, to be sure. I hardly have enough exposure to the
language to form a real opinion, but I recall that once you got the
gestalt of what STL and/or super classes one was leveraging you stop
caring about the implementation and concentrate on local code problems,
which are easy to soak in the bath.

That is, I do at least 80% of my work in Java. To solve problems in
Java, I don't have to care about anything in java.lang, or even in most
of our components, classes or implementations. Decent code will be set
up for good code reuse and logical subclassing. For any sufficiently
large application it helps to have a tool that lets you navigate these
relationships, but I had to do this for large C apps in the past anyway.

I mean, conceptually, a pointer to a selection of structs is just as
opaque as some super-class. I find once I get an idea of what the local
code is doing with these "objects" the rest is just reading source to
find out i.) what the hell the original coder meant and, ii.) where the
actual bug might be. Both of these are bath-worthy projects!

At any rate, learning how to code, read code and debug is a hackerish
skill one can learn with any sort of toolset. C is an ideal tool to
have in one's hacker kit, but those skills are generally transferable
and re-usable.

I personally like to learn a new (artificial) language once a year, and
often deliberately choose one that is outside of my day-to-day oeuvre.
I find it helps keep me sharper.
--
clvrmnky <mailto:sp******@clevermonkey.org>

Direct replies will be blacklisted. Replace "spamtrap" with my name to
contact me directly.
Aug 20 '07 #8
On Mon, 20 Aug 2007 18:21:52 +0530, santosh <sa*********@gmail.com>
wrote:
>I started to learn C++ from my friend's book, C++ Primer. in the
beginning it went good but after i finished 5 chapters it became
complicated. C++ seems like a language with too many features and
functions and right now it seems too complicated and bloated for my
brain. i just want to become a Hacker and no other special intentions
for learning a language. i use BLAG Linux at my home computer (as
advised in "How to Become a Hacker" by Eric S. Raymond).

Hackers tend to think independently, not ape the advice of someone else.
That's silly. A hacker who isn't willing to learn from other people's
experience won't get very far. Maybe he should forgo reading K&R, and
posting to c.l.c., as well? If you have a particular reason not to
follow Raymond's advice, say so.

--
Al Balmer
Sun City, AZ
Aug 20 '07 #9
On Aug 20, 5:29 am, pandit <jala...@gmail.comwrote:
I started to learn C++ from my friend's book, C++ Primer. in the
beginning it went good but after i finished 5 chapters it became
complicated. C++ seems like a language with too many features and
functions and right now it seems too complicated and bloated for my
brain. i just want to become a Hacker and no other special intentions
for learning a language. i use BLAG Linux at my home computer (as
advised in "How to Become a Hacker" by Eric S. Raymond).
Personally, I like C++, but I think it is a difficult first computer
language to learn.
C seems like an essential language of Hacking and searching the
archives tells me K&R2 is the book to go. i found the mentioning of
K.N. King too but can't find it in on any online Indian book store.
anyway K&R2 is pretty cheap for a poor guy like me (just 100 rupees)
and i am not a beginning programmer since i have learnt some C++
already.

any advice before i start to walk on the path of a Hacker.
http://www.plethora.net/~seebs/faqs/hacker.html
http://www.ee.ryerson.ca/~elf/hack/
HTH
[NOTE: the views i expressed on C++ are purely my personal]

Aug 20 '07 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Olivier Noblanc ATOUSOFT | last post by:
Hello, In the botom of this post you will see my source code. The problem is when i launch main.py that doesn't make anything why ? Thanks olivier noblanc Atousoft...
1
by: Steve Thorpe | last post by:
Hi have have two linked SQL Servers and I am trying to get things working smootly/quickly. Should I be using 'BEGIN TRANSACTION' or 'BEGIN DISTRIBUTED TRANSACTION' ? Basicly, these SPs update...
11
by: snnn | last post by:
On the book <Generic Programming and the STL>( Matthew . H . Austern ),this function is defined as iterator set::begin() const. However, why should a const object returns a non-const iterator?...
2
by: gabriel | last post by:
Greetings, I am adding foreign keys to a database and saving the generated scripts. What I do not understand is that all script begin with empty transactions. Why ? Example follows : /*
2
by: Nick Keighley | last post by:
Hi, I'm trying to iterate over a container class. The class actually contains a std::map, so I thought all I'd have to implement begin() and end(). The example code has a problem in begin() ...
1
by: Karl O. Pinc | last post by:
FYI, mostly. But I do have questions as to how to write code that will continue to work in subsequent postgresql versions. See code below. begintest() uses EXIT to exit a BEGIN block from...
2
by: serge | last post by:
/* Subject: How best to use BETWEEN Begin and End Dates to find out if an employee was/is member of any group for a certain date range? You can copy/paste this whole post in SQL Query Analyzer...
13
by: bobc | last post by:
In my stored procedure, I want to parse @ArrayOfDays into @d1 through @d5. @ArrayOfDays is a varchar input parameter containing, for example, "1.7.21.25.60." - five elements. Most active...
5
by: Andrew Wingorodov | last post by:
im made subj like this: inline bool isnt_space (int sp) { return (::isspace (sp)) ? false : true; } str.erase ( std.begin () , std::find_if ( str.begin(), str.end(), isnt_space) );
0
by: rafeig77 | last post by:
I want help How I can align rectangles differ in its tow dimensions inside big rectangle with lesser waste in area ? for mor information align.rar - 1.8 Kb or: copy this code to text file...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.