Earlier quoted context omitted.
The truth is, CS is not a "science" like biology or physics. It is an education in understanding computation and software development. I'd also argue it is not an engineering discipline either. It's unfortunate the terms "Computer Science" and "Software Engineering" were ever accepted. They're holding us back; we're stuck in an outdated view of the subject.
I kindof disagree. For example while studying UML, it became more and more apparent to me how legitimate it is to have the word "science" in "Computer Science". Being able to create a high-level framework that is general enough to apply pervasively to IT systems is not a trivial matter, and requires considerable academic effort and creativity. The domain may be different from biology or physics, but the methods of ob…
Code != computer science
131–140 of 148 posts
Re: Code != computer science
#132Re: Code != computer science
#133I look at this from the other side as well. I've worked with brilliant people with ivy league CS degrees who wrote much messier and less maintainable code than me, an autodidact designer/js dev with 1.5 years of experience. Maybe I'm wrong, and there was something in their code that I wasn't seeing, but I don't think so. There can also be a bit of an attitude, like the person is thinking "of course this is good, I we…
Re: Code != computer science
#134Earlier quoted context omitted.
> I look at this from the other side as well. I've worked with brilliant people with ivy league CS degrees who wrote much messier and less maintainable code than me, an autodidact designer/js dev with 1.5 years of experience. Maybe I'm wrong, and there was something in their code that I wasn't seeing, but I don't think so. I would have ignored your comment were it not for you mentioning that you write javascript. I s…
What I find when I work with "pointy" data structures is that it really, really helps to draw diagrams to clarify your thinking. I can write a doubly-linked list extraction with my eyes closed (and it'd probably help to do it with closed eyes, since I can more easily picture what's going on) but it very likely won't look anything like yours... what's dec for? And all the extraneous underscores in the variable names,…
Re: Code != computer science
#135Earlier quoted context omitted.
> I look at this from the other side as well. I've worked with brilliant people with ivy league CS degrees who wrote much messier and less maintainable code than me, an autodidact designer/js dev with 1.5 years of experience. Maybe I'm wrong, and there was something in their code that I wasn't seeing, but I don't think so. I would have ignored your comment were it not for you mentioning that you write javascript. I s…
> Of course if this was Perl it would be even worse. Sigh . Sadly, it has become fashionable to bring up Perl only to ridicule it even when there is absolutely no context or need. Take a look at this implementation [1] of doubly linked list in Perl. Tell me how that is worse [2]. Now, I will go back to my corner to being productive using Perl or whatever language I need. [1] https://metacpan.org/source/LEONT/List-Dou…
A lot of people ridicule C, I just laugh my head off.
Apologies, I assure you that I am not ridiculing it. The elegance of a language is not my concern. In fact, your comment has made me decide to put some effort into learning a bit more Perl, but I will have to find some time.
Re: Code != computer science
#136Earlier quoted context omitted.
> I look at this from the other side as well. I've worked with brilliant people with ivy league CS degrees who wrote much messier and less maintainable code than me, an autodidact designer/js dev with 1.5 years of experience. Maybe I'm wrong, and there was something in their code that I wasn't seeing, but I don't think so. I would have ignored your comment were it not for you mentioning that you write javascript. I s…
A little whitespace goes a long way. Were the list elements also stored in sequence in some array, or is ->lnk a two-element array with the forward and backward pointers?
typedef struct dll__ {
struct dll__ *lnk[2];
void *dat;
}ndi;
I've seen some examples on the web, but I haven't seen it done this way. I have a suspicion it might be slower than the traditional technique, but I'll have to check that. What is not evident from the code snippet is that I'm trying to make the code handle both fixed end and looped lists.Re: Code != computer science
#137Earlier quoted context omitted.
I kindof disagree. For example while studying UML, it became more and more apparent to me how legitimate it is to have the word "science" in "Computer Science". Being able to create a high-level framework that is general enough to apply pervasively to IT systems is not a trivial matter, and requires considerable academic effort and creativity. The domain may be different from biology or physics, but the methods of ob…
Wait, did you just bring up UML as an example for backing up the claim that CS is science?!
Re: Code != computer science
#138Earlier quoted context omitted.
Well if you think of it, a CEO like Steve Jobs will call the PC a truck... to sell the iPad. • Computer Science = Truck • Treehouse = iPad But how do you make iPad dev tools?
> But how do you make iPad dev tools? The same way you make a real-world video editing suite work on an iPhone and have the guts to make that your seasonal and campaign: in a careful and considerate fashion without trying to be all things to all people. That said, if I had an editable Chrome dev tools on a tablet I'd be 50% of the way there some days. :) And ... Don't read too much in the car/truck comment. Eventuall…
> The same way you make a real-world video editing suite work on an iPhone and have the guts to make that your seasonal and campaign: in a careful and considerate fashion without trying to be all things to all people.
It isn't about being all things. It is about a level of control you need while working. This is actually a mathematics problem namely Godel's second theorem of incompleteness which states and this is a brief description that "a system cannot contain itself" meaning that you can build a system of components but those components can't be built from inside the system. This equally applies to software.
> That said, if I had an editable Chrome dev tools on a tablet I'd be 50% of the way there some days. :)
Again you're conflating two issues. Not all dev tools can exist is a browser. If they do then by definition they don't exist in the browser anymore. A paradox. If your dev tools can exist in the browser alone then you definitely are using only a subset of necessary dev tools for other domains. It is obvious that you are a web dev but then I'm not and the browser doesn't cut it for me.
> And ... Don't read too much in the car/truck comment. Eventually even smart phones will behave like supercomputers. It's just a matter of time.
Then again you missed it. I wasn't reading into it. I was comparing how the CEO of Treehouse was dissing CS degrees because he wanted to sell his tutorials like Jobs was dissing the PC because he wanted to sell iPads.
Re: Code != computer science
#139Fundamentally,computer science = data structures + algorithms. in a data structure class,you learn the basic structures like PODs,structs,vectors and linked lists. in algorithm class,you learn various basic sorting algorithms plus the big O notation and thats pretty much it. Then you will take a few physics classes,then chemistry classes,then maybe calculus one and two,then probably discrete mathematics class,one or…
People are incredulous when I tell them I use 90% of the stuff learned while getting my CS degree. Stuff I've done in the real world: AI: I've lost count of the number of times I've had to implement A* Graphics: wrote a ray tracer; matrix transformations Data structures and algorithms: wrote an approximation algorithm for the travelling salesman problem (christofides); fancier data structures like bloom-filters, lru…
Re: Code != computer science
#140True but: Code people, should be open to learn theory when needed. CS people, should be open to understand that writing code is not marginal and takes a lot of time to master. Probably more cooperation would be needed.