Hardware hacking is a method of life right here at Hackaday. We celebrate jobs daily with hot glue, duct tape, upcycled parts, as well as whatever in between. It’s open season to hack hardware. Out in the world, for some reason software application doesn’t get the exact same laissez-faire treatment. “Too lots of lines in that file” “bad habits” “bad variable names” the comments frequently rain down. even the unsafest silliest of jobs isn’t safe. building a robot to radiate lasers into a person’s eyes? much better make sure you have less than 500 lines of code per file!
Γιατί είναι αυτό? What makes visitors as well as commenters hold software application to a higher basic than the hardware it occurs to be running on? The reasons are lots of as well as varied, as well as it’s a pattern I’d like to see stopped.
Software engineering is a fairly young as well as quick evolving science. Every few months there is a new hot language on the block, with forums, individual groups, as well as articles galore. even the method software application engineers work is regularly changing. waterfall to agile, V-Model, Spiral model. even software application style methodologies modification — from pseudo code to UML to test driven development, the listing goes on as well as on.
Terms like “clean code” get thrown around. It’s not great sufficient to have software application that works. software application need to be well commented, maintainable, elegant, as well as of course, comply with the very best coding practices. a lot of of these are great ideas… in the work environment. Work is what a great deal of this boils down to. software application engineers have to stay as much as date with new patterns to be employable.
There is a specific amount of “born again” mentality among expert software application developers. Coders normally dislike having modification required upon them. however when they discover a tool or system they like, they accept it both professionally, as well as in their personal projects. then they’re out spreading the word of this new technique or tool; on Reddit, in forums, to any individual who will listen. The traditional example of this is, of course, editors like the vi vs emacs debate.
Code Tyrants
XKCD is always relevant
This evangelism is where lots of of the comments come from. lots of experienced coders genuinely believe if you’re not doing things their way, you’re doing it the wrong way. as well as of course, if somebody is wrong on the Web they need to be corrected. I like to phone call these people Code Tyrants. It doesn’t matter your skill level, background, if you’re coding for work, or for a fun project. They’re going to show you their way, as well as are ready to dispute the topic for hours with any individual else who jumps in.
Don’t be a code tyrant. There are lots of locations on the Web to dispute tools as well as techniques.
Someone who is just discovering to program most likely doesn’t requirement to understand all the coolest tricks. In fact, the newest stuff can be detrimental. A new coder discovering to program C/C++ on embedded systems most likely won’t be well served by being taught C++11’s wise pointers. I’ve seen coders grumble that somebody didn’t utilize ternarys when they might have. Ternary operators are a pet peeve of mine.
Αυτό
Long form1
2
3
4
5
6
7
8
if (foo > bar)
{
output = fizz;
}
αλλού
{
output = buzz;
}
vs this
Short form1
output = foo > bar ? fizz : buzz;
Anyone can checked out the very first snippet. It’s virtually English. While shorter, second snippet isn’t readable to a new coder. The compiler doesn’t provide a damn, you’re going to get the exact same assembly output either way.
Learning to code
Many accomplished programmers have forgotten what it is like discovering to program. Tutorials that don’t rather make sense, cryptic error messages, as well as concern forum threads that never get answered.
Arduino tries to make things a bit easier. however at its core, it’s just C mixed with a bit of C++ (one of the hardest languages to jump into). have an error in your program? Arduino’s IDE will just throw up the error text from avr-gcc. This is not precisely newbie friendly.
A rousing game of exactly how terribly Does it Sort?
What does a neophyte programmer do when they get stuck? The exact same thing the pros do. Hop onto Google as well as begin searching. This is where things can go from poor to worse. For one reason or another, StackOverflow is always in the top 10 results of coding searches. As a resource, it is a bit of a double-edged sword. There is a great deal of great info there. However, the code tyrants have been busy, with arguing, nitpicking, as well as answers may consist of outdated, as well as ordinary old poor information. a lot more than a few blog writers have lamented this. When Randal Munroe makes StackOverflow answers an example a for an XKCD comic, you understand you’re in trouble.Το είδος στοίβας έχει εφαρμοστεί, μπορείτε να το ελέγξετε εδώ. Οι έμπειροι κωδικοποιητές μπορούν να διαχωριστούν το σήμα από το θόρυβο. Ωστόσο, κάποιος νέος πρόκειται να έχει ένα τραχύ πάει.
Να είναι ένας μέντορας
Ποια είναι η επιλογή σε όλα αυτά; Πιστεύω ότι οι ερασιτέχνες ραδιοφωνικοί άνθρωποι έχουν ένα μεγάλο σύστημα για αυτό ήδη. Οι εθελοντές μέντορες, που ονομάζονται “Elmers” βοηθούν τους λάτρεις στο ταξίδι τους από το Neophyte στον Τηγανητή. Σύμφωνα με την ARRL, η καθοδήγηση αρχίζει με τον περιφερειακό σύλλογο. Για εμάς, αυτά τα κλαμπ είναι hackerspaces καθώς και τα makerspaces. Ο χρόνος εθελοντισμού των ανθρώπων σε αυτές τις περιοχές ήδη κάνει μια φανταστική εργασία βοηθώντας τους ανθρώπους να ανακαλύψουν και την εφαρμογή λογισμικού καθώς και το υλικό. Προτείνω να το πάρουν ένα βήμα παραπέρα. Προσπαθήστε να ανακαλύψετε μια βασική ομάδα ανθρώπων που είναι έτοιμοι να καταλήξουν στους μέντορες – να αναλάβουν την υποχρέωση για λίγους μαθητές. Αυτό δείχνει να πετάξει τις ερωτήσεις τους, καθώς και να τους καθοδηγούν καθώς αντιμετωπίζουν δυσκολία στην ανακάλυψη στον κώδικα. Όχι μόνο πότε ή δύο φορές την εβδομάδα σε ανοιχτή νύχτα hack. Παρέχετε τους email σας καθώς και ανησυχίες πεδίου καθώς έρχονται.
Το να είσαι μέντορας δεν δείχνει μέντορα από το έδαφος. Υπάρχουν πολλά μαθήματα, βίντεο, καθώς και βιβλία εκεί έξω. Μερικοί είναι καλοί, άλλοι όχι τόσο πολύ. Ένας μεγάλος μέντορας πρέπει να είναι σε θέση να κόψει με τα ζιζάνια καθώς και να προτείνει λίγα σπουδαία.
Όλοι δεν είναι φυσικά κοντά σε ένα hackerspace όμως. Για αυτούς η μόνη επιλογή είναι στους πόρους του Διαδικτύου. Υπάρχουν υπόγεια, καθώς και τα φόρουμ, καθώς και το δικό μας hackaday.io, το οποίο έχει μια εξαιρετική ομάδα ανθρώπων στο κανάλι Chat Chat.
Η κωδικοποίηση μάθησης από έναν μέντορα είναι μια ικανοποιητική εμπειρία τόσο για τον εκπαιδευόμενο όσο και για τον εαυτό τους. Η ελπίδα είναι ότι οι εκπαιδευόμενοι θα συνεχίσουν να κατέληξαν να είναι κώδικες μέντορες, βοηθώντας την επόμενη γενιά να πάει από τον κώδικα Neophyte στο κύριο κωδικό κώδικα hackware.