Most problems you need to solve already have libraries to make it easy. So figure out what your specific problem is, find the right library and language combination that best supports you. If you really care about performance, or some other specific metric, then you might need to use another language, but in general, I'd say use the your favorite language that supports the library you need to achieve your goal. I am currently using C#, javascript, java, C++, shellscript, and a couple other languages. And for each additional feature, I ask myself what is the best tool for the job. There are many ways for different languages to inter-operate, so don't feel that you are confined for just one language. If you think that rust is the best language for a particular task, use it and integrate it with the rest of your code. And if later you decide that another language is better at doing that task, someone can port that one task without having to rewrite your whole stack.
Nearly all code is "bad" to one degree or another. There are some very good reasons for this.
1. As Steve Jobs said, "real artists ship". If you're in a research lab it may be a different matter, but in the real world, your code is never perfect, yet sooner or later you need to let real people use it, and either make money or discover that you're trying to solve a problem that doesn't exist. If the former happens, you should try and go back and improve your code. If the latter happens, be glad that you didn't try to design the perfect solution to your non-existent problem and go try to solve real problems.
2. The human race moves forward. Hardware gets faster, cheaper, smaller and uses less energy. Operating systems, browsers, and languages become easier to develop for with new features, and become more efficient with hardware acceleration, various optimizations, etc. You may have written amazing code 10 years ago, but it is "bad" code today because there are now better ways to do things that didn't exist at the time. Over time you should update your code to try to take advantages of this, though you may be limited due to a need to support legacy platforms.
3. You weren't the same person 10 years ago as you are now. We are continuously learning new things, fixing previous mistakes, and making new ones. If you look back at your old code, you should think that it's "bad" at least in some ways. If you don't, it means you didn't learn anything since you wrote it, which is a shame.
4. You don't know everything, and you don't have to. That's why you hire smart people, so you can focus on your strengths while outsourcing the rest, and so that you can learn how others approach problems differently than you.
Instead of trying to defend your territory as others have mentioned, I'd ask for ways in which the code is "bad" and can be improved, and then include him in the process of triaging those tasks against the rest of the team's workload.
This post seems to be more of a bug report or feature request than a troll or bully.
Whenever you are developing software, if you are lucky enough to have people actually use it, you will get feedback generally both positive and negative.
Before responding to bugs or feature requests from the community, you probably want to think about how much you are willing to invest in improving the product as a whole (time, money, etc). Also try to estimate what fixing this specific issue will buy you (increased revenue, more users, community goodwill, self gratification, etc.). And try to deal with those issues that will get you the most bang for you buck...
The problem with this approach is that the when the department of education gives the money back to the states, it does so wastefully and imposes regulations that don't make any sense and get in the way of things like actual teaching.
The department of education recently gave primary schools money that could only be used to buy new history books, even though they may have just purchased new books last year and the money would be much better spent elsewhere, or saved up until new books were required.
And then there's the the no child left behind thing. Apart from a lack of funding, there are large parts that just don't make any sense. It is ridiculous to think that special education students or second language students will test just as well as everyone else, yet this is exactly what happens. And teachers and schools are punished when these students don't perform as well as others, regardless of how much those students may have improved compared to their past performance. This is in addition to more beauracratic issues, such as failing a school when one of the two students of a particular ethnic group moves between the time students were counted and the tests were taken.
And of course, there are regulations specifying how many hours a week teachers are supposed to spend on each subject, that combined, add up to far more than the number of hours in the school week.
So in my opinion, there are two main ways to go about changing this. On the one hand, the federal government could make a real effort to talk to people who know what is going on - teachers and principals as well as parents students, businesses, and colleges. And based on the ongoing needs of everyone involved, they could try to logically weight the tradeoffs, make informed policies, and constantly reevaluation their progress.
On the other hand, they could simply decide to take the $24 billion designated for the states and give it to the states based on population with no strings attached - execpt possibly taking a national test and posting the results, but without punishing the schools based on those results.
I don't think the first alternative is remotely viable, unless possibly, you had officials elected at a national level that dealt with and only with education, and even then. The second option is basically what Ron Paul says - give the money back to the states (or don't take it in the first place).
This is very likely the real reason why Dell is offering less support for linux than windows. That is, it costs them more.
There are several possible reasons to this:
1) There are fewer people trained to troubleshoot linux than there are for windows, so they can demand more money.
2) If the mass consumers this product, they will on average know how to do less with linux than with windows and may need to call support more often. Of course, the true linux geeks would never call Dell for help...
For both 1 and 2, it is debatable whether people have less experience with linux because it is actually more difficult to use or because people are just more used to windows.
While I'm sure that's true for most software companies, the larger software companies are willing to pay more money. I'm pretty sure that Amazon, Apple, Google, Oracle, Microsoft, and Yahoo all pay 70k+ to college grads. And yet those companies are still having trouble finding college grads to employ, because there are only so many really smart ones out there. If 70k for new grads is not enough, how much should they pay to get more smart people into the field. Allowing them to employ smart people from other counties helps, but it seems that nobody wants that. Other solutions include advertising how much you can make, and trying to make it less of a "geek culture".
Most problems you need to solve already have libraries to make it easy. So figure out what your specific problem is, find the right library and language combination that best supports you. If you really care about performance, or some other specific metric, then you might need to use another language, but in general, I'd say use the your favorite language that supports the library you need to achieve your goal. I am currently using C#, javascript, java, C++, shellscript, and a couple other languages. And for each additional feature, I ask myself what is the best tool for the job. There are many ways for different languages to inter-operate, so don't feel that you are confined for just one language. If you think that rust is the best language for a particular task, use it and integrate it with the rest of your code. And if later you decide that another language is better at doing that task, someone can port that one task without having to rewrite your whole stack.
Nearly all code is "bad" to one degree or another. There are some very good reasons for this. 1. As Steve Jobs said, "real artists ship". If you're in a research lab it may be a different matter, but in the real world, your code is never perfect, yet sooner or later you need to let real people use it, and either make money or discover that you're trying to solve a problem that doesn't exist. If the former happens, you should try and go back and improve your code. If the latter happens, be glad that you didn't try to design the perfect solution to your non-existent problem and go try to solve real problems. 2. The human race moves forward. Hardware gets faster, cheaper, smaller and uses less energy. Operating systems, browsers, and languages become easier to develop for with new features, and become more efficient with hardware acceleration, various optimizations, etc. You may have written amazing code 10 years ago, but it is "bad" code today because there are now better ways to do things that didn't exist at the time. Over time you should update your code to try to take advantages of this, though you may be limited due to a need to support legacy platforms. 3. You weren't the same person 10 years ago as you are now. We are continuously learning new things, fixing previous mistakes, and making new ones. If you look back at your old code, you should think that it's "bad" at least in some ways. If you don't, it means you didn't learn anything since you wrote it, which is a shame. 4. You don't know everything, and you don't have to. That's why you hire smart people, so you can focus on your strengths while outsourcing the rest, and so that you can learn how others approach problems differently than you. Instead of trying to defend your territory as others have mentioned, I'd ask for ways in which the code is "bad" and can be improved, and then include him in the process of triaging those tasks against the rest of the team's workload.
This post seems to be more of a bug report or feature request than a troll or bully. Whenever you are developing software, if you are lucky enough to have people actually use it, you will get feedback generally both positive and negative. Before responding to bugs or feature requests from the community, you probably want to think about how much you are willing to invest in improving the product as a whole (time, money, etc). Also try to estimate what fixing this specific issue will buy you (increased revenue, more users, community goodwill, self gratification, etc.). And try to deal with those issues that will get you the most bang for you buck...
The problem with this approach is that the when the department of education gives the money back to the states, it does so wastefully and imposes regulations that don't make any sense and get in the way of things like actual teaching.
The department of education recently gave primary schools money that could only be used to buy new history books, even though they may have just purchased new books last year and the money would be much better spent elsewhere, or saved up until new books were required. And then there's the the no child left behind thing. Apart from a lack of funding, there are large parts that just don't make any sense. It is ridiculous to think that special education students or second language students will test just as well as everyone else, yet this is exactly what happens. And teachers and schools are punished when these students don't perform as well as others, regardless of how much those students may have improved compared to their past performance. This is in addition to more beauracratic issues, such as failing a school when one of the two students of a particular ethnic group moves between the time students were counted and the tests were taken. And of course, there are regulations specifying how many hours a week teachers are supposed to spend on each subject, that combined, add up to far more than the number of hours in the school week.
So in my opinion, there are two main ways to go about changing this. On the one hand, the federal government could make a real effort to talk to people who know what is going on - teachers and principals as well as parents students, businesses, and colleges. And based on the ongoing needs of everyone involved, they could try to logically weight the tradeoffs, make informed policies, and constantly reevaluation their progress.
On the other hand, they could simply decide to take the $24 billion designated for the states and give it to the states based on population with no strings attached - execpt possibly taking a national test and posting the results, but without punishing the schools based on those results.
I don't think the first alternative is remotely viable, unless possibly, you had officials elected at a national level that dealt with and only with education, and even then. The second option is basically what Ron Paul says - give the money back to the states (or don't take it in the first place).
This is very likely the real reason why Dell is offering less support for linux than windows. That is, it costs them more. There are several possible reasons to this: 1) There are fewer people trained to troubleshoot linux than there are for windows, so they can demand more money. 2) If the mass consumers this product, they will on average know how to do less with linux than with windows and may need to call support more often. Of course, the true linux geeks would never call Dell for help... For both 1 and 2, it is debatable whether people have less experience with linux because it is actually more difficult to use or because people are just more used to windows.
While I'm sure that's true for most software companies, the larger software companies are willing to pay more money. I'm pretty sure that Amazon, Apple, Google, Oracle, Microsoft, and Yahoo all pay 70k+ to college grads. And yet those companies are still having trouble finding college grads to employ, because there are only so many really smart ones out there. If 70k for new grads is not enough, how much should they pay to get more smart people into the field. Allowing them to employ smart people from other counties helps, but it seems that nobody wants that. Other solutions include advertising how much you can make, and trying to make it less of a "geek culture".