Poll: Stance on programming languages You do not have permission to vote in this poll. |
|||
Whichever is practical for the application | 14 | 73.68% | |
Whichever the user is more skilled in | 4 | 21.05% | |
blank or die -- there can be only one | 1 | 5.26% | |
Total | 19 vote(s) | 100% |
* You voted for this item. | [Show Results] |
Stance on programming languages - Psychology, Philosophy, and Licenses
Users browsing this thread: 1 Guest(s)
|
|||
Hi everyone,
so I am curious what everyone's opinions on programming languages are. role call, time to weigh in |
|||
|
|||
Write in C.
Other than that:
-- <mort> choosing a terrible license just to be spiteful towards others is possibly the most tux0r thing I've ever seen |
|||
|
|||
i agree jkl. i am trying to learn c, but due to some conditions, put it off and am looking back at it.
|
|||
|
|||
what language has a slack channel
|
|||
|
|||
id guess ruby, python, javascript. though i dont know first hand
|
|||
|
|||
Go does, of course.
-- <mort> choosing a terrible license just to be spiteful towards others is possibly the most tux0r thing I've ever seen |
|||
|
|||
|
|||
|
|||
(07-04-2017, 06:31 AM)pyratebeard Wrote:(06-04-2017, 03:45 PM)jkl Wrote: Exactly my thought. If I need to script something, which is not trivial in bash, I use python. Other than that I got a glimpse at Haskell, which I like, and I'm trying to learn C, the real *nix language. And there is of course Java, which is all over the place. |
|||
|
|||
(07-04-2017, 06:31 AM)pyratebeard Wrote: B, b, but... Python is sooo easy... All languages are easy, depending on your previous knowledge, the openness of your mind and your will to go new ways. Python, however, is not only easy but also simple while still enforcing you to write all of your code with great verbosity. (07-04-2017, 06:43 AM)r4ndom Wrote: If I need to script something, which is not trivial in bash, I use python. I used to use Lisp or Perl for scripting. But I have recently noticed it's actually fun to write things which could be done with a script in C. And yes, I am weird. -- <mort> choosing a terrible license just to be spiteful towards others is possibly the most tux0r thing I've ever seen |
|||
|
|||
(07-04-2017, 09:24 AM)jkl Wrote: But I have recently noticed it's actually fun to write things which could be done with a script in C. And yes, I am weird. Sometimes it also depends on constraints. Maybe you don't have the time to learn a new language. Maybe you want to contribute to a big project and it's already in a certain language. Maybe the language has facilities for the tasks you want to achieve. Maybe the language doesn't allow you to do what you want to do. Maybe the resources are low. etc.. There are many factors that come into play when choosing one language over another. But if the question is "If you had all the time in the world and no constraints" then it's another story. I'd go for the *fun* factor then. |
|||
|
|||
-- <mort> choosing a terrible license just to be spiteful towards others is possibly the most tux0r thing I've ever seen |
|||
|
|||
At work? The best tool for the job. A lot of people say that but never provide their criteria, so here are the major points I consider in order to determine whether or not a language is the best tool to use for a given project:
1. Time to useful knowledge: Do I already know this language or does it look like something I can learn quickly? This is a personal thing which requires honest self-assessment. I can typically learn a programming language to the point of (professional) usefulness within a weekend, sometimes I need a bit longer, but I've gotten pretty good at guesstimating how long it will take me to learn something. If you're a professional software engineer, then you should definitely take the time to self-assess if you're not already doing so. 2. Is runtime performance a concern and if so, to what degree?: If runtime performance is a major concern or if the application requires heavy computation, data manipulation, or parsing of large amounts of text (companies still do this...), then I start comparing task-specific benchmarks online and/or writing my own benchmarks in various languages in order to make an adequate comparison. 3. External dependencies: For each language under consideration, given the tasks, will I require the use of lots of external libraries? Does using those external libraries carry with it additional risks and are those risks acceptable? In general, pulling in a ton of outside dependencies and to a lesser extent, internally maintained dependencies, carries certain risks. For example, if we rely on an external library that all of a sudden ceases to be maintained, or the developer is not very good about keeping up with security fixes. This is a huge problem when required to use a proprietary library or tool, less so in the Free Software and Open Source worlds. 4. Is my team already proficient in the language being considered?: Very similar to #1. It's all well and good if you can learn a language in a matter of hours to the point of usefulness because you're an excellent engineer who knows how to self-assess, but what about your team? If the project requirements don't offer much in the way of prep-time (as is the case in most startups) and your team in general is not quick to pick up languages (or frameworks), then consider placing bonus points on languages they already know. 5. Development time: Is this a time-sensitive project? Is the average speed of development in the considered language acceptable given the project's time constraints? Typically development times are better for languages where I'm "more than just useful", same for my team. This isn't always the case though. Sometimes a language just lends itself to faster dev times, whether it be due to minimal syntax or well designed grammar or ease of understanding the language API docs. For example, Go might have easy to grasp syntax, but the docs, while technically complete, are lacking in the "readable by mere mortals" department. Meanwhile (and I'm probably committing a cardinal sin here), C# has some strange conventions, but the docs are clear as day. If I have a young team and the other criteria point to either Go or C#, as a lead dev, I might lean more toward C# for the benefit of team dev time (and confidence building). At home? I use what's fun. Typically I'll choose a language that I have less practice in (C, Rust, the lisps, etc) because it's fun to observe self-improvement and I enjoy the puzzles that come up.
Github: https://github.com/darthlukan
CRUX Ports: http://ports.brianctomlinson.com GPG: 3694569D "We're all human, act accordingly." -- Me |
|||
|
|||
|
|||
Go is an explicitly simplistic language, designed for people who are too dumb for C++. (Paraphrasing Rob Pike here.)
Slack is the hipster version of the IRC and there is no good reason to use Slack for any project unless you want to attract people who are not deeply into tech. -- <mort> choosing a terrible license just to be spiteful towards others is possibly the most tux0r thing I've ever seen |
|||
|
|||
you dont always get to choose. many times the technologies used for a project are based upon requirements like hardware, contracts, existing software, etc. being a versatile programmer means doing what you need to to get the job done. sure a program might be better served written in c vs python, but the client might have other reasons for why they want it in one lang over another.
also, as a polygot programmer/scripter i can honestly say i dont have a favorite language. they all have their faults. |
|||
|
|||
my main interests lie in c and d. for scripting, i prefer shell scripts ( rc and if i must, bash ) and where that fails, i think i'm likely to use python.
|
|||
|
|||
(07-04-2017, 02:46 PM)jkl Wrote: Go is an explicitly simplistic language, designed for people who are too dumb for C++. (Paraphrasing Rob Pike here.) that is quite the paraphrase, yea. it was created not for people who are "too dumb for c++" but because pike was annoyed by the buildtime of an internal google c++ program. my cs colleagues and i use slack daily for collaboration, does that mean all of us are not deeply interested in technology? |
|||
|
|||
perhaps using slack for internal communication is an exemption
|
|||
|
|||
How dare you question the all-powerful Lisp!
|
|||
|
|||
lisp sucks dude it only abstracts the things that shouldnt be abstracted so have fun with ur overweighted and under-efficient applications dude
|
|||
|
|||
Lisp easily outperforms C though.
-- <mort> choosing a terrible license just to be spiteful towards others is possibly the most tux0r thing I've ever seen |
|||