Codeacademy.com, Good Idea or Disaster for Programmers?

  • (7 Pages)
  • +
  • « First
  • 2
  • 3
  • 4
  • 5
  • 6
  • Last »

99 Replies - 57767 Views - Last Post: 30 May 2014 - 04:18 AM

#46 macosxnerd101  Icon User is offline

  • Self-Trained Economist
  • member icon




Reputation: 10803
  • View blog
  • Posts: 40,262
  • Joined: 27-December 08

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 01:00 AM

Not to be argumentative, but may I ask why not? :)

While I agree that not everything needs to be overcomplicated with math and theory, I also advocate using it when it makes sense. And the first formula is a Taylor Series. So is the second, really. And they're derived using calculus. The relationships between distance, velocity, and acceleration come down to the fundamental theorem of calculus. Now whether or not you personally need to be able to crunch integrals (assuming constant acceleration) is besides the point. Certainly you can abstract the intense calculations away from the formulas, but it's important (imo, at least) to acknowledge the math where we use it.
Was This Post Helpful? 0
  • +
  • -

#47 LanceJZ  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 41
  • Joined: 31-January 11

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 01:01 AM

View Postmacosxnerd101, on 09 January 2012 - 01:00 AM, said:

Not to be argumentative, but may I ask why not? :)

While I agree that not everything needs to be overcomplicated with math and theory, I also advocate using it when it makes sense. And the first formula is a Taylor Series. So is the second, really. And they're derived using calculus. The relationships between distance, velocity, and acceleration come down to the fundamental theorem of calculus. Now whether or not you personally need to be able to crunch integrals (assuming constant acceleration) is besides the point. Certainly you can abstract the intense calculations away from the formulas, but it's important (imo, at least) to acknowledge the math where we use it.


Because I like to think I'm just doing geometry, it just sounds cooler.
Was This Post Helpful? 0
  • +
  • -

#48 anonymous26  Icon User is offline

  • D.I.C Lover

Reputation: 1
  • View blog
  • Posts: 3,638
  • Joined: 26-November 10

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 04:28 AM

You guys are killing me! lol
Was This Post Helpful? 0
  • +
  • -

#49 111027  Icon User is offline

  • D.I.C Head

Reputation: 17
  • View blog
  • Posts: 141
  • Joined: 26-December 11

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 06:06 AM

View Postmacosxnerd101, on 08 January 2012 - 05:51 PM, said:

Quote

For an example: A line represents the shortest path between two points A and B, which is not exactly a trivial problem. It is. known as the 'Traveling Salesman' problem, and a lot of computer scientists and mathematicians failed to provide the optimal solution for it.

This isn't the Traveling Salesman Problem. The TSP is about finding the optimal Hamiltonian circuit, and there is an optimal algorithm (at least relatively speaking) for it- Held-Karp. It runs in O(n^2 * 2^n) time. Computer scientists and mathematicians still study this problem b/c there isn't a good polynomial time solution for it, so it isn't computationally tractable.

Quote

Sure, programming business applications and all if cool and fun for about 10 months, but there isn't much benefit to it (on the social aspect). What's really cool is the scientific application of computer science - interdisciplinary projects that might actually make the world we live in a better place. That's the kind of programming i'm into.

Honestly, if someone developed a better solution to the TSP, etc., mostly people in academia would care. I think a lot of people familiar with the problem would think it's neat as well, but that's probably where it would end. The TSP is fun, but doesn't have a lot of widespread applications. Now let's flipside this and look at Facebook or Google's search engine. Neither of these are highly mathematical or scientific. However, both of these have really facilitated new industries and jobs. Same thing with mobile platforms and app markets. I'd say they have definitely changed the world. Look beyond curing cancer, and look more at the economics of things. Look at new jobs, new ways to make money, new ways for people to communicate. Sure, you might see a DFS implementation. But that's stretching it if you are going to put it on a pedestal b/c it's math related.

Quote

Dare you to write an audio coded without being able to do Fourier transforms and fourth level integrals? Knowing how to program is pretty much useless unless you also understand the thing you are supposed to program.

There is a saying in the industry- the newbie asks how to do something, and the experienced programmer asks where has this been done before. I'm not dismissing learning new things and gaining experience; but by the same token, finding an API that handles a lot of the low-level work is beneficial as well.

Quote

But it's pretty much correct, and is the difference between a good programmer (who understands the basics of all that + what he's trying to program), a programmer (who understands what he's trying to program) and a person who knows a programming language (or ten, but is not a programmer).

I disagree to a large extent. Yes, we are in the industry of information and will always have to be competent if writing software for a specific industry (ie., we would need a basic understanding of accounting if writing software for accountants). Again though, we have APIs to handle a lot of things. I don't need to know AES to use the Java AES implementation. It saves me the time of implementing it myself. For an academic or personal exercise, it would be fun. For my job, I'll pass b/c my boss doesn't really care if I know the ins and outs of AES.

Quote

Let us not even start on very, very basic graphics: just drawing a line requires a bunch of calculus, trigonometry and algorithm theory.

APIs handle this as well. If I'm going to draw a line in Java, I'm going to use the Graphics drawLine() method. For this, I need basic math.

While math, data structures, and other related theory topics are near and dear to me, it's not usually what the industry needs. There are niche fields for scientific computing. Most programmers don't handle that. What the industry needs is more competent programmers; people that can write clean code, work with other people's code, debug, and get the job done well. Computer science is great, and I love it, but a lot of the topics you cover aren't directly relevant when you get into the workplace.



API's are cool and well when you can use them. My experience shows that for most important situations, you can't. A lot of the work i've done was on new or embedded systems, where you've barely got a C compiler running. It doesn't really matter how many API's exist for programming network sockets or whatever then, because you can't use them.

Even on the desktop platform, i believe that API and library usage should be restricted. I don't want to play the hardcore forum programmer, but i believe that in order to use something (anything at all), one must first understand it. I apply that to programming as well as anything else - only after thoroughly studying the code in the libraries i use most often, and understanding how that code works, did i start using them. If i didn't, i wouldn't know how to use them to the fullest, nor how to avoid potential pitfalls and correct potential errors. Now i can. It was the same thing when i got my motorcycle- the first thing i did was going at it with a screwdriver.
Was This Post Helpful? 0
  • +
  • -

#50 jon.kiparsky  Icon User is offline

  • Pancakes!
  • member icon


Reputation: 7999
  • View blog
  • Posts: 13,701
  • Joined: 19-March 11

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 08:23 AM

*
POPULAR

View Post111027, on 09 January 2012 - 08:06 AM, said:

Even on the desktop platform, i believe that API and library usage should be restricted. I don't want to play the hardcore forum programmer, but i believe that in order to use something (anything at all), one must first understand it. I apply that to programming as well as anything else - only after thoroughly studying the code in the libraries i use most often, and understanding how that code works, did i start using them. If i didn't, i wouldn't know how to use them to the fullest, nor how to avoid potential pitfalls and correct potential errors. Now i can. It was the same thing when i got my motorcycle- the first thing i did was going at it with a screwdriver.


I've had that urge, but I think it's a mistaken urge. When someone at work needs something done, they need it done now, not whenever I get around to analyzing all of the code in all of the libraries I need.
I think everyone starting out as a programmer should rewrite libraries, implement basic code, and do all that fundamental stuff. The more of that you do, the better you are as a programmer, I agree with you on this.
However, when you're actually generating code, if the project is big enough to require this sort of scrutiny, that scrutiny will be part of the planning phase, and those decisions should be taken by an architect, not by whoever's writing this chunk of the code.
Was This Post Helpful? 8
  • +
  • -

#51 Hadean Fall  Icon User is offline

  • D.I.C Head


Reputation: -5
  • View blog
  • Posts: 241
  • Joined: 05-September 11

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 09:35 AM

we have a great website here, full of pros who can help you out, this site is just bullshit, i have been programming for 2 years now, and i don't consider myself anywhere near a master or anything, this site is just plain retarded.......
Was This Post Helpful? 0
  • +
  • -

#52 jon.kiparsky  Icon User is offline

  • Pancakes!
  • member icon


Reputation: 7999
  • View blog
  • Posts: 13,701
  • Joined: 19-March 11

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 09:45 AM

It took me a minute to work it out, but I think you're saying the codecademy site is bullshit and dreamincode is great? Yeah, okay, I'll go along with that. Watch that third-person pronominal reference, though. Which "this" is this site and which "this" is that site? Hard to tell...
Was This Post Helpful? 0
  • +
  • -

#53 Curtis Rutland  Icon User is offline

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4576
  • View blog
  • Posts: 8,018
  • Joined: 08-June 10

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 10:02 AM

I think a lot of people have missed the point of CodeAcademy in general. It's not a help forum. It's a basic introduction to programming. Nobody is saying you're going to become an amazing professional by following CodeAcademy's tutorials. It's not pretending to teach you everything there is to know about programming.

It's there to introduce people to programming in a non-threatening, non-intrusive way. You don't have to install anything for it to work, you just type along with the lessons.

And all of you putting it down while talking D.I.C. up, that just sounds childish and petty. We're two different sites, focused on two different things. We're not a basic introductory site, and they're not a help forum.
Was This Post Helpful? 4
  • +
  • -

#54 111027  Icon User is offline

  • D.I.C Head

Reputation: 17
  • View blog
  • Posts: 141
  • Joined: 26-December 11

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 10:11 AM

View Postjon.kiparsky, on 09 January 2012 - 08:23 AM, said:

View Post111027, on 09 January 2012 - 08:06 AM, said:

Even on the desktop platform, i believe that API and library usage should be restricted. I don't want to play the hardcore forum programmer, but i believe that in order to use something (anything at all), one must first understand it. I apply that to programming as well as anything else - only after thoroughly studying the code in the libraries i use most often, and understanding how that code works, did i start using them. If i didn't, i wouldn't know how to use them to the fullest, nor how to avoid potential pitfalls and correct potential errors. Now i can. It was the same thing when i got my motorcycle- the first thing i did was going at it with a screwdriver.


I've had that urge, but I think it's a mistaken urge. When someone at work needs something done, they need it done now, not whenever I get around to analyzing all of the code in all of the libraries I need.
I think everyone starting out as a programmer should rewrite libraries, implement basic code, and do all that fundamental stuff. The more of that you do, the better you are as a programmer, I agree with you on this.
However, when you're actually generating code, if the project is big enough to require this sort of scrutiny, that scrutiny will be part of the planning phase, and those decisions should be taken by an architect, not by whoever's writing this chunk of the code.


I'm not saying that we should reimplement everything on every project; I am just saying that we should all strive towards the skills to reimplement it in case we ever need to. Strictly programming against an API doesn't teach you that, and as much as most people don't like to admit it, there's quite a lot of math involved in programming the API's themselves for new systems.
Was This Post Helpful? 0
  • +
  • -

#55 jon.kiparsky  Icon User is offline

  • Pancakes!
  • member icon


Reputation: 7999
  • View blog
  • Posts: 13,701
  • Joined: 19-March 11

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 10:13 AM

Quote

It's a basic introduction to programming


I was curious, so I went through their whole program, all of their lessons, this weekend. It took me two hours.

It's not a good introduction to programming. It's not a good introduction to javascript. It's not a good introduction to much of anything. In fact, it's sorta bullshit. The basic idea is a good one, and it's one I've considered implementing as an exercise- programming exercises in lisp which the student would run in an interpreter on the machine. I'm not enough of a lisp hacker yet to be a good teacher, but the underlying idea is sound, I think. The execution of it at codecademy.com is pretty terrible.

So it's not some sort of local pride thing - it's just that codecademy doesn't have much to offer. They're bullshit on their own merits, not by comparison to this site or any other.
Was This Post Helpful? 0
  • +
  • -

#56 Curtis Rutland  Icon User is offline

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4576
  • View blog
  • Posts: 8,018
  • Joined: 08-June 10

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 10:20 AM

I wasn't calling you out, jon. Just the people that are saying stuff like "lol DIC is better than that bullshit site."

I haven't worked the tutorials, so I wouldn't know. I just know the type of site, and their goals are totally different than ours here. I probably will work the tutorials later.
Was This Post Helpful? 1
  • +
  • -

#57 macosxnerd101  Icon User is offline

  • Self-Trained Economist
  • member icon




Reputation: 10803
  • View blog
  • Posts: 40,262
  • Joined: 27-December 08

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 10:42 AM

Quote

API's are cool and well when you can use them. My experience shows that for most important situations, you can't. A lot of the work i've done was on new or embedded systems, where you've barely got a C compiler running. It doesn't really matter how many API's exist for programming network sockets or whatever then, because you can't use them.

This is a niche field. Most programmers don't work on these types of projects professionally. This sounds a lot closer to something in a computer organization class.

Quote

Even on the desktop platform, i believe that API and library usage should be restricted. I don't want to play the hardcore forum programmer, but i believe that in order to use something (anything at all), one must first understand it. I apply that to programming as well as anything else - only after thoroughly studying the code in the libraries i use most often, and understanding how that code works, did i start using them. If i didn't, i wouldn't know how to use them to the fullest, nor how to avoid potential pitfalls and correct potential errors. Now i can. It was the same thing when i got my motorcycle- the first thing i did was going at it with a screwdriver.

Academically, I agree to a certain extent. Professionally, I don't, since it boils down to time, money, and quality. And an existing API is more likely to have a fair number of bugs worked out than one re-implemented in-house.

Quote

I'm not saying that we should reimplement everything on every project; I am just saying that we should all strive towards the skills to reimplement it in case we ever need to. Strictly programming against an API doesn't teach you that, and as much as most people don't like to admit it, there's quite a lot of math involved in programming the API's themselves for new systems.

This I can agree with much more. However, learning to work with existing APIs and other people's code is a valuable skill too. I'd say this is where more programmers fall short than being able to reinvent the wheel in many cases.
Was This Post Helpful? 2
  • +
  • -

#58 jon.kiparsky  Icon User is offline

  • Pancakes!
  • member icon


Reputation: 7999
  • View blog
  • Posts: 13,701
  • Joined: 19-March 11

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 11:03 AM

Quote

And an existing API is more likely to have a fair number of bugs worked out than one re-implemented in-house.


To be fair, he didn't suggest re-implementing. He said he wanted to review the library code before deploying it. And that's a reasonable thing to want, in a perfect world. Get me a perfect world, and I'll want it too. In this one, I only dive into the library code if something goes tits-up and I need to figure out why.
And frankly, you find some howlers that way, but unless they're the part that actually broke, they don't matter.

I don't care, for example, that jdom uses reflection to call a static method (in the SAXBuilder class, check it out!) because that's not the part that broke when I was using it.

This post has been edited by jon.kiparsky: 09 January 2012 - 11:04 AM

Was This Post Helpful? 0
  • +
  • -

#59 111027  Icon User is offline

  • D.I.C Head

Reputation: 17
  • View blog
  • Posts: 141
  • Joined: 26-December 11

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 02:22 PM

View Postmacosxnerd101, on 09 January 2012 - 10:42 AM, said:

However, learning to work with existing APIs and other people's code is a valuable skill too. I'd say this is where more programmers fall short than being able to reinvent the wheel in many cases.


Totally agreed. I've seen a lot of programmers who have a lot of hard time using someone else's code. I also agree that it is completely impractical to reinvent the wheel every time - but never did i suggest that. I suggested studying the wheel you want to use, even if not entirely but just the parts you'll use, so you can then use it better.

Keep in mind that we do have different viewpoints. While you're clearly 'industry - oriented', i'm more of an academic person, a scientist - to -be so to speak. So it is only natural that our views on this differ.
Was This Post Helpful? 2
  • +
  • -

#60 LanceJZ  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 41
  • Joined: 31-January 11

Re: Codeacademy.com, Good Idea or Disaster for Programmers?

Posted 09 January 2012 - 02:57 PM

View PostCurtis Rutland, on 09 January 2012 - 10:20 AM, said:

I wasn't calling you out, jon. Just the people that are saying stuff like "lol DIC is better than that bullshit site."

I haven't worked the tutorials, so I wouldn't know. I just know the type of site, and their goals are totally different than ours here. I probably will work the tutorials later.


I have done the tutorials and I think they are just fine for what they are intended for. I don't know what those guys were expecting out of it.
Was This Post Helpful? 1
  • +
  • -

  • (7 Pages)
  • +
  • « First
  • 2
  • 3
  • 4
  • 5
  • 6
  • Last »