Hey Everybody!! Question :-)

Pages: 12

Yeah.... :)
godpyro how can you be hating on books :o having a good book still lets you code and make your own programs, and most of them have excersises at the end of each chapter so you keep on coding. books are the way to go in my opinion :)
They kill the environment! Think of the trees! eBooks if anything
lol dude lets not go there, this is a programming forum
Seriously though, C++ isn't that hard. It's not exactly assembler...
you are probably smarter than I am

even after years of using C++, it still "surprises" me more frequently than I care to admit... ...something that doesn't happen with assembly

edit: example - just a few hours ago, I was lucky to have hamsterman & guestgulkan help me out with this C++ quirk

http://www.cplusplus.com/forum/general/42529/
Last edited on
I didn't really understand and acted strangely, but C++ doesn't pull punches and it's because it's so strict

If you really want to know "why", maybe C++ could be an easier language for you to start with
But there are many people don't want to know "why"
What they care about is "how"
Many students(like me) or engineers don't need to be so good on programming
Under that kind of situation, who cares about those "magics" behind the curtains
if I could produce beautiful interface and make it work properly?

For an electronic engineer, starting with C and assembly will help.

I am also an electronic engineer student, but I don't think that start with C or assembly is a good way
There are one peculiar phenomenon between us ee students, most of us can't understand or
accept higher level abstraction. But that is not the worst case, the worst is most of us refuse
to study higher level abstraction of programming and always believe that "higher level ==
slower + fat code". I think that is because the programming courses of ee always start by
lower level--c and assembly.Even some professors believe that "higher level ==
slower + fat code".
Maybe learning from a higher abstraction level could cease this kind of phenomenon?

That is the situation in Taiwan, I don't know the situations of another countries
Last edited on
I am also an electronic engineer student, but I don't think that start with C or assembly is a good way
There are one peculiar phenomenon between us ee students, most of us can't understand or
accept higher level abstraction.


This makes no sense. If you don't like higher level abstraction, C or assembly is the perfect place to start.
The points I made were separate and not interlocking, assembler is in fact easier to predict than C++ because there's nothing special about it beyond representing machine code, so provided you understand what the processor's doing (which is pretty boring, to say the least) you can figure out assembler.

The reason C++ is easier than assembler but still considered to-the-point is because it is based on C, a structured but still very to-the-point language, and it merely borrows the abstraction of OOP for the sake of organisation, and the way it deals with OOP is very well defined, it all is. However, when comparing C++ to other more 'friendly' languages it seems incredibly strict because of its C base.

@Moschops: I completely agree, C and assembly are the best place for people who don't like abstraction, especially C (because assuming they're starting they'll have an easier and more productive time of it), but Assembler as well eventually because learning it is invaluable to understanding the processor and memory, and that kind of insight is invaluable to any programmer.

@stereoMatching: If you find abstraction difficult you're probably not good learners or your professors aren't good teachers. There's not much to understand about Abstraction, it's just the way to take many advanced concepts and represent them as something humans can easily reckon with. C++ is better than C in my opinion because the Abstraction that C++ gives you will eventually lead to better code overall because you won't get hopelessly lost in the most advanced code as C++ is there to make it easier to code properly. C++ is very good at organising code without doubt, and in a way all proper C++ programmers can work with and understand straight away.

I said C & assembly because the kind of work an EE student do is different than may be a CS student do. An EE student may work more on device side programming which heavily depends on assembly for efficiency. Similarly the opposite is true, I being not an EE student, can still work on assembly side programming and C++ is not necessary for me.

There are no strict rules to learn anything but there are guidelines. Learning and targeting your career towards your field is going to give a good boost to the career. What is the use of doing an EE if one is just working on application programming. These are my views though. :)
This makes no sense. If you don't like higher level abstraction, C or assembly is the perfect place to start.

Exactly, I like it very much. Especially when I find out that generic programming could save me from
a lot of tedious codes and still give me the same speed(or even faster) as C. This boost up
productivity a lot, and I believe that if I could sharpen my skill days by days, my efficiency would
be much more better than now.Why bother to write the same codes when you know template
could generate it for you(extra benefits like type safe and others).
But there are one thing bother me, most of my classmates, seniors, even professors don't like C++ at all.Even I prove it that if C and C++ doing the same things, the speed and space of C++ could compete with C or even better than C with fewer codes and cleaner interfaces, they still neglect to accept C++(since their codes are not too complicated, I am still capable to "translate" it to C++).
That means that if I have to work with them, I would stuck at c.
Trying to catch up with higher abstraction seems like an impossible missions for most of the ee students.So I thought that If we learn how to program from higher abstraction, maybe this kind of situation could be solve?

Start with C and than jump to C++

I don't think this is a good idea since this maybe one of the reason which make us ee students refuse to accept higher abstraction. Exactly, many of us believe that C++ almost == C and we should not use those "crap" features of C++ since they are slow, fat and hard to understand(what a tragedy to judge the thing they don't know like this).These are my views though. :)

This is the opinion of Bjarne Stroustrup's, the father of C++
Knowing C is a prerequisite for learning C++, right?
http://www2.research.att.com/~bs/bs_faq.html#prerequisite

ps : I seldom use dynamic polymorphism, but looks like dynamic polymorphism is much more popular than static polymorphism.
Last edited on
Topic archived. No new replies allowed.
Pages: 12