Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "strict community"
-
Let the student use their own laptops. Even buy them one instead of having computers on site that no one uses for coding but only for some multiple choice tests and to browse Facebook.
Teach them 10 finger typing. (Don't be too strict and allow for personal preferences.)
Teach them text navigation and editing shortcuts. They should be able to scroll per page, jump to the beginning or end of the line or jump word by word. (I am not talking vi bindings or emacs magic.) And no, key repeat is an antifeature.
Teach them VCS before their first group assignment. Let's be honest, VCS means git nowadays. Yet teach them git != GitHub.
Teach git through the command line. They are allowed to use a gui once they aren't afraid to resolve a merge conflict or to rebase their feature branch against master. Just committing and pushing is not enough.
Teach them test-driven development ASAP. You can even give them assignments with a codebase of failing tests and their job is to make them pass in the beginning. Later require them to write tests themselves.
Don't teach the language, teach concepts. (No, if else and for loops aren't concepts you god-damn amateur! That's just syntax!)
When teaching object oriented programming, I'd smack you if do inane examples with vehicles, cars, bikes and a Mercedes Benz. Or animal, cat and dog for that matter. (I came from a self-taught imperative background. Those examples obfuscate more than they help.) Also, inheritance is overrated in oop teachings.
Functional programming concepts should be taught earlier as its concepts of avoiding side effects and pure functions can benefit even oop code bases. (Also great way to introduce testing, as pure functions take certain inputs and produce one output.)
Focus on one language in the beginning, it need not be Java, but don't confuse students with Java, Python and Ruby in their first year. (Bonus point if the language supports both oop and functional programming.)
And for the love of gawd: let them have a strictly typed language. Why would you teach with JavaScript!?
Use industry standards. Notepad, atom and eclipse might be open source and free; yet JetBrains community editions still best them.
For grades, don't your dare demand for them to write code on paper. (Pseudocode is fine.)
Don't let your students play compiler in their heads. It's not their job to know exactly what exception will be thrown by your contrived example. That's the compilers job to complain about. Rather teach them how to find solutions to these errors.
Teach them advanced google searches.
Teach them how to write a issue for a library on GitHub and similar sites.
Teach them how to ask a good stackoverflow question :>6 -
Dev Community
On Facebook groups- most are scams.
On SFO - strict.
On Reddit - Somehow helpful
On Telegram - 'nobody cares about you'
On Wechat or CSDN - They curse you.
On Dev.to - incomplete.
On Gitter - 'no body cares'
On slack - boring.
On Naver blog - somewhat helpful.
On whatsapp - crypto referal links everywhere
On Twitter - 'JAVASCRIPT bla bla bla'
On Google GRoups - classic
On discord - friendly
So far what I experienced, what about you guys?10 -
What would you change if you were the owner of a site like devrant?
I've been in devrant for weeks now and the thing I like the most of it is the community (at least most of it).
If you are going through a bad time, they wish you well.
People here also seem to have very decent work experience.
In general, they seem to be open towards other technologies and honest about their shortcomings.
I also like that the site (for better or worse) is not insanely moderated.
For example, in reddit, it's very easy to get a post removed because it doesn't abide to the rules. They can be rudiculous strict, and mods can be trigger happy.
I'm not denying the existence of any moderation here, but for example I've seen some pretty graphic sexual comments, and I appreciate that anything goes (except being a dick ofc).
And I guess that the fact that the community is so chill has to do with that, there's not a huge need for moderation (unless I'm totally oblivious).
But how do you keep a community like that?
I've seen people complaining about the influx of new users and the spam of shitty memes.
How do you keep devrant cool while letting new people join?
I think a necessary thing is that you separate the people into 'universes' and each universe has a limit of x users. And somehow the users are distributed in a way that the average level of 'user likes the universe they're in' is maximum.
Now, how do you create that? Not sure, maybe you let users vote whether they like the other users or not (such votes being hidden to others ofc) and let users switch unis if they don't like them.
What ideas do you have?8 -
During my small tenure as the lead mobile developer for a logistics company I had to manage my stacks between native Android applications in Java and native apps in IOS.
Back then, swift was barely coming into version 3 and as such the transition was not trustworthy enough for me to discard Obj C. So I went with Obj C and kept my knowledge of Swift in the back. It was not difficult since I had always liked Obj C for some reason. The language was what made me click with pointers and understand them well enough to feel more comfortable with C as it was a strict superset from said language. It was enjoyable really and making apps for IOS made me appreciate the ecosystem that much better and realize the level of dedication that the engineering team at Apple used for their compilation protocols. It was my first exposure to ARC(Automatic Reference Counting) as a "form" of garbage collection per se. The tooling in particular was nice, normally with xcode you have a 50/50 chance of it being great or shit. For me it was a mixture of both really, but the number of crashes or unexpected behavior was FAR lesser than what I had in Android back when we still used eclipse and even when we started to use Android Studio.
Developing IOS apps was also what made me see why IOS apps have that distinctive shine and why their phones required less memory(RAM). It was a pleasant experience.
The whole ordeal also left me with a bad taste for Android development. Don't get me wrong, I love my Android phones. But I firmly believe that unless you pay top dollar for an android manufacturer such as Samsung, motorla or lg then you will have lag galore. And man.....everyone that would try to prove me wrong always had to make excuses later on(no, your $200_$300 dllr android device just didn't cut it my dude)
It really sucks sometimes for Android development. I want to know what Google got so wrong that they made the decisions they made in order to make people design other tools such as React Native, Cordova, Ionic, phonegapp, titanium, xamarin(which is shit imo) codename one and many others. With IOS i never considered going for something different than Native since the API just seemed so well designed and far superior to me from an architectural point of view.
Fast forward to 2018(almost 2019) adn Google had talks about flutter for a while and how they make it seem that they are fixing how they want people to design apps.
You see. I firmly believe that tech stacks work in 2 ways:
1 people love a stack so much they start to develop cool ADDITIONS to it(see the awesomeios repo) to expand on the standard libraries
2 people start to FIX a stack because the implementation is broken, lacking in functionality, hard to use by itself: see okhttp, legit all the Square libs, butterknife etc etc etc and etc
From this I can conclude 2 things: people love developing for IOS because the ecosystem is nice and dev friendly, and people like to develop for Android in spite of how Google manages their API. Seriously Android is a great OS and having apps that work awesomely in spite of how hard it is to create applications for said platform just shows a level of love and dedication that is unmatched.
This is why I find it hard, and even mean to call out on one product over the other. Despite the morals behind the 2 leading companies inferred from my post, the develpers are what makes the situation better or worse.
So just fuck it and develop and use for what you want.
Honorific mention to PHP and the php developer community which is a mixture of fixing and adding in spite of the ammount of hatred that such coolness gets from a lot of peeps :P
Oh and I got a couple of mobile contracts in the way, this is why I made this post.
And I still hate developing for Android even though I love Java.3 -
I'm new to Python and have been using PyCharm. I like it. I've tried just about every IDE on the market now excluding maybe a couple of the ones who don't have free versions and I always end up back to Pycharm.
I like how it's strict about formatting. My opinion it builds good habits. I watch a lot of tutorials on youtube among other things and I'm learning slowly but still I getting there.
My conclusion is that their seems to be a complete lack of consistency in the Python community regarding PEP and formatting standards. One person does it this way. Another does it that way. Makes it extremely frustrating when trying to learn because you have all these people doing things slightly different.
One guy says dont use camelCase another says yes. Granted some of these tutorial are a couple of years old and I know things change but I can't imagine it changes that much from 2 to 3 yeah but when you can't even be consistent with your spacing of your print functions or comments it's like nails on a chalkboard.
And thats just the beginning. I'm a tabs guy some are spaces. That's a whole other rant or whatever. Hardly the point really. Lots of different inconsistencies but I'm running out of characters.
Maybe im just not finding good videos. They all act like they know what they are doing and to an extent I suppose they do.
It takes a lot of guts to put yourself out their like they do ready to be scrutinized so you have to at least have a clue of what your doing. Some of these people have 10s of thousands of subs and I find myself picking apart every little thing they are doing and find many times they are teaching wrong standards. At least that's how I see it from the little experience I have now.
I'm just beyond frustrated and would appreciate any advice that a person wants to give. Keep in my I'm new and may just be misguided so try not to be to harsh if I've drawn an incorrect conclusion.13 -
So, I'm part of a pretty nice project with an awesome community. Being open source it didn't have really strict standards, evidence of this being one of the latest merges to master.
The latest merge breaks the project. It received approval because of some minor changes that were easily overlooked. Although they should have tested the build nobody bothered.
Now that it's been merged I've rebased several of my own requests I am unable to test them until the original author makes a fix.2