Earlier quoted context omitted.
So long as you don't have to learn a language, API, or framework to do it... I'm not sure what things are left you could do differently? Your list excludes all technology-related changes, so the rest becomes meta-activities: pair programming, documentation, planning, a good nights sleep, etc. Those are excellent, but I'm curious why are you willing to change those other areas but are resistant to technological ones?…
Let's see, I'm learning about unscented Kalman filters, moving object tracking in computer vision, PCA, and more. I'm learning about the problem domain that I'm working in. I have no interest in learning yet another API unless I absolutely have to, because it isn't really interesting knowledge that I have to call the fibble() function before calling xacxtyor() in this poorly documented API. That's not learning, it's…
Your Progress As A Programmer Is All Up To You
51–60 of 69 posts
Re: Your Progress As A Programmer Is All Up To You
#52I've devoted this year to learning some Statistics. Will check if my hypothesis is true in a few months.
Re: Your Progress As A Programmer Is All Up To You
#53Earlier quoted context omitted.
I did, doesn't seem to be particularly focused on neither bugs nor security.
Wow, we have a very different reading of Rust. Safe concurrency and memory management doesn't lead to reduced bugs? Eliminating unsafe memory access doesn't lead to increased security?
Re: Your Progress As A Programmer Is All Up To You
#54I'm currently in the state of mind that the true way to stay ahead of things is to keep studying, every week, something new. Yes: every week. I take at least 15% of my work-time and use it for self-enlightenment -whether its learning how to put the LuaVM somewhere, tinkering with RethinkDB, sharding my mongo's, or whatever. Constant change is the only constant in this industry; one must change oneself, constantly, to catch up.
This isn't so easy to do if you're not into enlightenment, alas.
Re: Your Progress As A Programmer Is All Up To You
#55Earlier quoted context omitted.
Wow, we have a very different reading of Rust. Safe concurrency and memory management doesn't lead to reduced bugs? Eliminating unsafe memory access doesn't lead to increased security?
You are assuming that most of the languages people use don't have safe automatic memory management, right? This is of course incorrect. Now, lets compare Rust and Go, what makes Rust programs have fewer bugs, than Go programs? Is there any supporting research that shows how Rust eliminates any particular class of high level bugs? No, there isn't. So, no, Rust doesn't focus on eliminating bugs.
There is a class of programs where manual control over memory layout is important. For example, if you're writing an OS, as Mozilla is, you need this control to talk to hardware. It is also important in some domains where performance is important (e.g. games and big data.) Rust is the only language (outside of research) that offers control over memory layout while also providing memory safety. That is, no access to uninitialized memory, etc. This clearly eliminates a huge class of bugs relative to C/C++, the only language with substantial usage in this space.
Race conditions (data races) are considered important enough by the Go developers that they have a tool to detect them: http://blog.golang.org/race-detector In Rust these error cannot happen as programs containing data races cannot compile.
Then there is the usual modern type system stuff of eliminating nulls and so on.
Re: Your Progress As A Programmer Is All Up To You
#56> I was writing web applications when I first heard of Ajax (a few months after the term was coined) and I started using it; again I wound up teaching my teammates about the new thing first. Sadly it scared the architecture team who thought I had bought some new technology without approval and wondered if it was supported. None of them had heard of it (since they didn't pay much attention) and when I told them it was just Javascript they were only barely mollified.
I can imagine being an architect and having a programmer like that, bringing up every hip thing he encounters, just because it is cool and new... Probably not even considering all of the ramifications. Yeah, sure, AJAX is here to stay (as we know now), but how many "perspective" technologies are now long dead?
I like staying a bit further behing the edge. I follow the direction of technology but I use it only when it is proven and supported well enough. Well, usually. :)
Re: Your Progress As A Programmer Is All Up To You
#57Earlier quoted context omitted.
You are assuming that most of the languages people use don't have safe automatic memory management, right? This is of course incorrect. Now, lets compare Rust and Go, what makes Rust programs have fewer bugs, than Go programs? Is there any supporting research that shows how Rust eliminates any particular class of high level bugs? No, there isn't. So, no, Rust doesn't focus on eliminating bugs.
I'll make one effort in good faith to answer your questions, though I expect you're not interested in hearing the answer. There is a class of programs where manual control over memory layout is important. For example, if you're writing an OS, as Mozilla is, you need this control to talk to hardware. It is also important in some domains where performance is important (e.g. games and big data.) Rust is the only languag…
Re: Your Progress As A Programmer Is All Up To You
#58I used to justify playing around with Clojure and Scala because it would give me insight into better ways of problem solving when programming. But one day, when I was sitting at work, I realized that I need to concentrate on things that were relevant to my job that I was weak on - Javascript, SQL, etc..
So I think it's important to know what's relevant to you and your goals instead of endlessly toying with the latest shiny thing.
Re: Your Progress As A Programmer Is All Up To You
#59Earlier quoted context omitted.
I'll make one effort in good faith to answer your questions, though I expect you're not interested in hearing the answer. There is a class of programs where manual control over memory layout is important. For example, if you're writing an OS, as Mozilla is, you need this control to talk to hardware. It is also important in some domains where performance is important (e.g. games and big data.) Rust is the only languag…
I don't like arguments like that, as they don't have any supporting data. I happen to analyze significant amount of bugs in a large C codebase and things you are talking about don't seem to be as important, as you claim. But well, this is what's wrong with programming languages, nobody cares enough to do some research. That's ok though, we just think about languages differently.
"Memory error exploitations have been around for over 25 years and still rank among the top 3 most dangerous software errors."
http://www.isg.rhul.ac.uk/sullivan/pubs/raid-2012.pdf
Or see work on static analysis of kernels and device drivers like http://research.microsoft.com/pubs/74567/eurosys2006.pdf
I'm very interested to hear what you consider more important sources of errors.
Re: Your Progress As A Programmer Is All Up To You
#60Earlier quoted context omitted.
I don't like arguments like that, as they don't have any supporting data. I happen to analyze significant amount of bugs in a large C codebase and things you are talking about don't seem to be as important, as you claim. But well, this is what's wrong with programming languages, nobody cares enough to do some research. That's ok though, we just think about languages differently.
I find it very strange to see an argument that memory safety is not an important property. Here are some arguments for it's importance: "Memory error exploitations have been around for over 25 years and still rank among the top 3 most dangerous software errors." http://www.isg.rhul.ac.uk/sullivan/pubs/raid-2012.pdf Or see work on static analysis of kernels and device drivers like http://research.microsoft.com/pubs/74…
Anyway, you suggested Rust under false assumptions. Rust doesn't care about reliability and security any more, than most of the modern languages. Even Perl with its taint mode is more secure, than Rust.