|
As others have pointed out, the Lounge is not a place to ask programming questions; however, you haven't provided enough information to determine whether or not you actually have posted a programming question. If this is a programming question, when you repost this in a more appropriate forum, it would help if you provided a lot more information about what your question really is. For instance, what technology and language is this? What code do you already have? What effect are you looking for? What errors are you seeing?
Asking a good question is hard. It requires you to remove all assumptions, we don't know what you're building so we don't know how to help you properly. Take the time to sit down and plan your question; remember that we have no context here, so you have to provide every bit of relevant information in one go.
Good luck.
This space for rent
|
|
|
|
|
|
As if they just found the answer for this whole universe' existence.
I asked one of the job applicants, a fresher what he wants to be. he says "Python developer".
Which felt okay, to start with.
Then I asked, after 5 years?
Applicant: "Senior Python developer"
Then I insisted, if he'd be interested to specialize any of the technology than tools. (We've had enough with people who could never adapt to change)
Applicant: No, I want to be expert Python developer.
I had to tell him I see no scope for growth or any long term plans for him in our company as we don't have rolls called "python SME, python super Expert, python Engineering manager/director & Python CEO, CTO & Python magician"
Some or many of you might still feel specializing on a specific language and building career over it is fine, I might find it okay too if it's useful for the work. Unfortunately, for us, it's not. We have come around different tools and different needs requesting the devs to learn new tools to get things done.
I did enquire with other folks why these kids are so obsessed with Python. Looks like their instructors at college have said "Python" is the future. That's where there money is.
Im developing a fresh dislike for "Python".
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy Falcon.
modified 3-Oct-17 12:14pm.
|
|
|
|
|
Python is great, but then so is C, C++, C#, Java ... The problem with these people is that what they really want is to be rich and famous. Actually doing some work is not in their mindset.
|
|
|
|
|
Few years back when I asked them similar questions they used to say "Want to be a cloud expert".
When I hear something like this I'd want to follow it up with the next question.
"Which means you want to build a fault tolerant, globally distributed/replicated, hardware agnostic, scalable , managed system? OR you want to be one of those people who move their in-premises SQL server to Cloud and call themselves a cloud expert"?
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy Falcon.
|
|
|
|
|
Anyone whose ambition is to be "an expert in X", is unlikely to make it. In my experience, the experts are the quiet people who get on with their work undisturbed by the surrounding noise. But when asked questions they always come up with excellent answers. I recall one specific individual who really knew the internals of a large OS inside out. When asked how he got to know so much his answer was, "practice, practice, practice".
|
|
|
|
|
First qualification an expert needs is to know he/she still has a lot to learn.
We're philosophical about power outages here. A.C. come, A.C. go.
|
|
|
|
|
BANG! - Got it in one.
I get on average about 15 questions a week on this on Quora, and every single one of them boils down to the same question.
"Whats the fastest way for me to get from Zero Coder to Hero Coder, and the many glorious riches it will give me"
Many of them fully believe that it's "All About the Code" and "How great the code looks", so they go hunting for "The easiest language", which for many usually ends up either being Python or JavaScript, why?
Simple.
Beacuse if you don't know how to do something then there's usually a module/library/bit of code that's just an 'NPM install' or 'PIP install' away.
|
|
|
|
|
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
This is in @Marc-Clifton 's signature. Fits really well.
I am not the one who knocks. I never knock.
In fact, I hate knocking.
|
|
|
|
|
GKP1992 wrote: This is in @Marc-Clifton 's signature.
I thought that looked familiar.
|
|
|
|
|
Yes, the candidate's single-language fixation is a bit ridiculous but there's a flip-side to this.
Employers frequently insist on commercial experience in specific languages. We've all seen those adverts that demand version X of this and version Y of that when what they actually need is someone who can program a computer.
Whilst any good techie would recognise that a good Java programmer is likely to provide a lot more long-term benefit in a .NET shop than a lousy C# programmer ever will - HR types and recruitment pimps don't see the world that way. This means that we tend to get glued to a particular tech-stack whether we like it or not.
98.4% of statistics are made up on the spot.
|
|
|
|
|
PeejayAdams wrote: that a good Java programmer is likely to provide a lot more long-term benefit in a .NET shop than a lousy C#
Very true. Our team have done that precisely. There was just close to NIL learning curve, when our team (MS/C#) had to do something in Java, except for Settings up environment & grasping some syntax tweaks.
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy Falcon.
|
|
|
|
|
Vunic wrote: syntax tweaks
Exactly, my team handles various projects, some new(angular js and other fancy stuff) ,some old(C# and VB.Net). It surprises me when some people (most of them) are willing to work on a badly implemented C# project instead of a well build VB.Net just because VB.Net sounds like an "older technology".
I tried to convince them that both the languages in .Net are more or less the same except for some syntax differences for which, a simple google search is always an option.
But somethings you just can't expect people to understand.
I am not the one who knocks. I never knock.
In fact, I hate knocking.
|
|
|
|
|
I dunno. I'm a C++ expert more than I'm any other thing, and that has worked pretty well for me career-wise. Perhaps there's a difference in how powerful being an expert in C++ makes you, versus python (igniting flame war).
|
|
|
|
|
It is a language that I am seeing a lot from my kids in high school, one has it for ICT and another has it for a lunchtime computer club
Every day, thousands of innocent plants are killed by vegetarians.
Help end the violence EAT BACON
|
|
|
|
|
Python, Java, iPads; as long as it is non-Microsoft "to prevent a vendor-lock in".
..and that attitude helped to create a lot of new 'institutes' that teach .NET in the past years. Most universities and academics would shudder of .NET / Visual BASIC courses
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I don't know. I made good living hanging around Microsoft platform/tools for 30 years. Never ventured too far from it. If I were to stay mainly in small shops and startups, my experience might be different, but all my experience had been with bigger companies/government so they are not shy licensing expensive tools.
|
|
|
|
|
A parallel observation/opinion:
For Chemistry (or as I refer to it, "real life") I went to a graduate school with some rather prestigious faculty. One noted, on the first day of his Advanced Inorganic Chemistry course that 'any of you that does as a faculty member the same research they did as a graduate student is doomed to oblivion' It jived with my opinion.
If your degree's any good, a PhD. really means "will train" - because you should have learned one most important thing in all those years . . . to learn how to learn.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
because it is the web programming language of choice for the anti-Microsoft crowd.
That and Django Unchained
|
|
|
|
|
Yes and in practical terms that means Amazon even more than Linux
|
|
|
|
|
The cybersecurity sector leans heavily on Python, so it's seeing a lot of exposure lately.
It's also becoming a common learner language.
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
Python can be quite impressive. To name a few things:
1) Huge 3rd party support and many very decent libraries, and some really interesting stuff, including things like AI, deep learning, etc.
2) IDE's - Visual Studio, JetBrains PyCharm, umm, Eclipse, including debugging
3) Project Jupyter is cool
4) It's usually more concise than C#. Example.
5) It can be impressive:
>>> 2**160
1461501637330902918203684832716283019655932542976
6) Cross platform -- I develop UI's and custom SBC hardware controllers in Python, and can write and debug the code (mocking the hardware I/O) in Windows and test it, move it over to the Debian box, and it works.
7) Django for web hosting is actually cool and well thought out, more so than Ruby on Rails, IMO, but then I'm biased against anything Ruby.
8) Brain dead simple to interface to C code, and more importantly, to build the library that can be imported into your Python app.
9) Docker / container support is trivial. Interfacing with Docker using Python is trivial.
10) Ruby is dying. Thank God.
11) My experience with Ruby was entangled with experiences of egoistic developers, similar to what I experienced when Java was all the rage. With Python, the egoism seems to be considerably toned down. That's important to me because egoistic developers tend to be dangerous, biased, opinionated, arses to work with. And they're actually really bad coders too.
Cons:
1) It's slow, of course, being interpreted
2) If you want speed, code it in C (I personally haven't tried Python with C++)
3) It's scripted. PyLint helps to catch many stupid typos and construct errors that a C# IDE would redline for you before you even hit Build.
While I'm forced to deal with Javascript/HTML/CSS (believe it or not, I still have to get my toes wet with TypeScript or similar) and occasionally SQL, C# is my language/bias of choice, Python is my go-to language for SBC and container development. At some point I'll probably poke at Go.
For a lot of things, it's quite decent but so is, for example, C#, unless you're doing something specific where the answer is "Python would make this soooo much easier."
|
|
|
|
|
Thanks for your summary! Very helpful list!
|
|
|
|
|
Syntactically Python is one of the worst languages that are developed recently. Maybe there are others like that, I don't know. This is one of the languages where 'nothing' matters, as in white spaces define the structure of the program. Code reviews are made almost impossible because instead of answering a question 'is the program structure as-is correct?' you need to answer a question 'which of all possible structures would be correct?'. Simple yes/no becomes 'design same program that you're reviewing on the spot and see if you come up with same result'. Example:
if (x)
something()
somethingelse()
Should somethingelse() be indented like this? If that code is already indented by 5 levels, maybe somethingelse() needs to be pulled back one level? two? three? People can't indent properly in languages where indentation is not important (curly brace languages, for example), and you'd expect them to indent something correctly where it is important?
The initial hype came by showing: look, it's simple, i type '2+3', it prints '5'. An over-glorified calculator. Next, they print 'hello world' and see on console 'hello world', and it only takes one line of code instead of 10. Great. It makes simple things simpler and hard things almost impossible.
There are tons of libraries written in Python, but i haven't seen data about how efficient Python is for developing these libraries, as opposed to some languages with static typing.
Less lines of code does not mean it is overall efficient. Look at code golf on Stack Overflow, they solve small but relatively complex problems there using programs written with 10-20 Unicode characters that are incomprehensible for most developers.
Writing a program is about 10% of the effort, maintaining it is another 90%, and languages should be such that maintenance is easier. Maintenance is not 'figuring out what the program does'. That part is trivial, run it through debugger with single-stepping and you see what it does. Maintenance is like any other reverse engineering, where you try to 'figure out what the developer was thinking when they developed that program'. With the example above it is not possible to say for sure if somethingelse() was thought of being part of that condition block or not. You'd need to reverse engineer the entire algorithm in that function, then think if you'd do it in the same way, and if you disagree, you'd do it differently, probably introducing more bugs because you don't have any guidance about original thinking. There are too many paths through the code where the implementation can get forked by indentation errors, each line after the first one in if() statement should be questioned if it has proper indentation. If {} are around the block, you can auto-format the code to make it readable and then look at the algorithm on single path and check it for correctness. It is less likely to place somethingelse() erroneously inside or outside a block than to indent it by incorrect number of spaces.
|
|
|
|
|
I agree. Folks throw hate at the C-style syntax, but at the end of the day, the semicolons & squiggly parentheses make the code determinant. Oh, and C code can be very succinct.
|
|
|
|
|