Normally I just post about movies but I'm a software engineer by trade so I've got opinions on programming too.
Apparently it's a month of code or something because my dash is filled with people trying to learn Python. And that's great, because Python is a good language with a lot of support and job opportunities. I've just got some scattered thoughts that I thought I'd write down.
Python abstracts a number of useful concepts. It makes it easier to use, but it also means that if you don't understand the concepts then things might go wrong in ways you didn't expect. Memory management and pointer logic is so damn annoying, but you need to understand them. I learned these concepts by learning C++, hopefully there's an easier way these days.
Data structures and algorithms are the bread and butter of any real work (and they're pretty much all that come up in interviews) and they're language agnostic. If you don't know how to traverse a linked list, how to use recursion, what a hash map is for, etc. then you don't really know how to program. You'll pretty much never need to implement any of them from scratch, but you should know when to use them; think of them like building blocks in a Lego set.
Learning a new language is a hell of a lot easier after your first one. Going from Python to Java is mostly just syntax differences. Even "harder" languages like C++ mostly just mean more boilerplate while doing the same things. Learning a new spoken language in is hard, but learning a new programming language is generally closer to learning some new slang or a new accent. Lists in Python are called Vectors in C++, just like how french fries are called chips in London. If you know all the underlying concepts that are common to most programming languages then it's not a huge jump to a new one, at least if you're only doing all the most common stuff. (You will get tripped up by some of the minor differences though. Popping an item off of a stack in Python returns the element, but in Java it returns nothing. You have to read it with Top first. Definitely had a program fail due to that issue).
The above is not true for new paradigms. Python, C++ and Java are all iterative languages. You move to something functional like Haskell and you need a completely different way of thinking. Javascript (not in any way related to Java) has callbacks and I still don't quite have a good handle on them. Hardware languages like VHDL are all synchronous; every line of code in a program runs at the same time! That's a new way of thinking.
Python is stereotyped as a scripting language good only for glue programming or prototypes. It's excellent at those, but I've worked at a number of (successful) startups that all were Python on the backend. Python is robust enough and fast enough to be used for basically anything at this point, except maybe for embedded programming. If you do need the fastest speed possible then you can still drop in some raw C++ for the places you need it (one place I worked at had one very important piece of code in C++ because even milliseconds mattered there, but everything else was Python). The speed differences between Python and C++ are so much smaller these days that you only need them at the scale of the really big companies. It makes sense for Google to use C++ (and they use their own version of it to boot), but any company with less than 100 engineers is probably better off with Python in almost all cases. Honestly thought the best programming language is the one you like, and the one that you're good at.
Design patterns mostly don't matter. They really were only created to make up for language failures of C++; in the original design patterns book 17 of the 23 patterns were just core features of other contemporary languages like LISP. C++ was just really popular while also being kinda bad, so they were necessary. I don't think I've ever once thought about consciously using a design pattern since even before I graduated. Object oriented design is mostly in the same place. You'll use classes because it's a useful way to structure things but multiple inheritance and polymorphism and all the other terms you've learned really don't come into play too often and when they do you use the simplest possible form of them. Code should be simple and easy to understand so make it as simple as possible. As far as inheritance the most I'm willing to do is to have a class with abstract functions (i.e. classes where some functions are empty but are expected to be filled out by the child class) but even then there are usually good alternatives to this.
Related to the above: simple is best. Simple is elegant. If you solve a problem with 4000 lines of code using a bunch of esoteric data structures and language quirks, but someone else did it in 10 then I'll pick the 10. On the other hand a one liner function that requires a lot of unpacking, like a Python function with a bunch of nested lambdas, might be easier to read if you split it up a bit more. Time to read and understand the code is the most important metric, more important than runtime or memory use. You can optimize for the other two later if you have to, but simple has to prevail for the first pass otherwise it's going to be hard for other people to understand. In fact, it'll be hard for you to understand too when you come back to it 3 months later without any context.
Note that I've cut a few things for simplicity. For example: VHDL doesn't quite require every line to run at the same time, but it's still a major paradigm of the language that isn't present in most other languages.
Ok that was a lot to read. I guess I have more to say about programming than I thought. But the core ideas are: Python is pretty good, other languages don't need to be scary, learn your data structures and algorithms and above all keep your code simple and clean.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality
Anya is LIVE right now
FREE
Free to watch • No registration required • HD streaming
After practicing more javascript, I decided to get back to my pokedex and work on it before going into the next step on bootcamp (that would be their angular course)
I'm still having a hard time understanding API and how to use it;; but that's fine. I'll keep studying and practicing ( 。 •̀ ᴖ •́ 。)૭
Monday I finished the index page (which I want to change it later!!). and now I've been working on the profile page. I got stuck with CSS length units, couldn't understand the difference between rem/em/etc and it didn't help that my head was foggy, but today I could study more and now I get it better yey!!
The profile page is looking like this right now (mobile first):
I'm still trying to figure out how I want it to be displayed on a bigger device *thinking*, but I'm pretty happy about how it turned out as it was made without tutoring ˶‘ ᵕ ‘˶
Another part that I liked is the two buttons on the top. I couldn't add an event with javascript so the arrow button works as a back page button. I kind of know how I can do it, but I don't know what I did wrong Σ(-᷅_-᷄๑) For now I did this on html:
ᶦ ʷᶦˡˡ ᶜʰᵃⁿᵍᵉ ᶦᵗ ˡᵃᵗᵉʳ or perhaps I dont need javascript?
So these days I have started to stream my code study.
So today morning I learnt:
How to take absolute value. Found some anomaly in the system lol. Basically it was not taking abs() but fabs() however my python was the latest version
I studied how to sort three numbers in python, although I have done this in other language since the syntax of python is still foreign to me I had difficulty sorting them in ascending order and also descending order using the built in function sorted() and also making my own implementation
I understood what is range function and how to use it with for loops, had a bit of hit and miss while understanding how it really worked but google's bard helped, I also learnt about reverse sorting
I learnt what is interning while trying to understand the difference between identity operators and equality operators. Found some anomaly in my system again, that my computer's range of interning is much larger than what is documented ?
I learnt what is keyword argument when with using reverse built in sort, yeah so I was amazed that the order of arguments didn't mattered for keyword argument.
I was also confusing syntax of python with javascript since that is what is what recently code in.
Learnt about what does len() function does, like properly rather than just guessing about what it does.
understood about control statements such as if, else and elif
learnt about break and continue in loops in python which is same as java script.
learnt about how to check the divisibility of a number. I didn't knew that it was separate topic in my syllabus I just thought it was something people would knew.
Learnt the basics about on how to make a READ , EVAL PRINT LOOP, REPL
Learnt about stupid pattern program in python, I don't know why the heck they still teach these things and put it in syllabus. There is no real world use of it as far as I can see. I still have to post the notes about it in my blogs and store it my cloud drive.
Learnt how to do a summation of series, using and not using numpy.
figured out how to do a factorial of a number
was trying to make an short algorithm on how to do the fibonacci series but well, I was so sleepy that my mind didn't worked as it should, I took the hint from bard then felt bad that I was directly looking at the solution when rather I should sleep and approach the problem from afresh in next study stream. So stopped my study stream.
I used RPG Maker XP before (though mainly only used Pokemon Essentials) so MZ has a lot new that folks who used the RPG Makers in between like VX and MV are probably already familiar with.
For example:
It comes with a character generator that makes easy-to-use sprites!
While I intend to use my own resources eventually you know I have to play with this...
Also? Children exist beyond gender! In that case...
There's also a dark theme (as well as two high contrast ones that... don't appeal to me.
That should be easier on the eyes after staring at a computer screen at work all day.
Another thing I noticed right away is that the tilesets give you a lot more autotiles than XP. XP maxed at 8. This one has loads!
Autotiles, for those newer to this than I am, are tiles that automatically draw corners and the like based on what tiles they're drawn next to rather than needing to be put together with individual tiles. These can also be animated to show the motion of waves or waterfalls.
The tilesets are also broken into tabs! Looks like the bases are in the A tab and the details to add on top are in B and C. I'll have to look more into this when I eventually import my own tiles but it already seems nice for organizing.
Another thing?
Four layers for mapping! XP had three. Apparently they took away layers for some of the iterations between XP and MZ? That sounds irritating. Good thing MZ has them again.
MZ defaults to 48x48 tiles but has options for others as well. Again, I'll worry about that when I play with my own resources.
Those are just what I noticed right away. Apparently another difference is that XP used the Ruby programming language and MZ uses Java JavaScript. I never touched the code back in my Pokemon Essentials days so anything involving that is going to be new to me.
Oh, man. I'm already getting ideas for things to make with this. I plan on using the default resources to start with while I'm learning (for the most part) but when I start putting my own in I'll probably record the process here.
It's less of a pet peeve with programming itself and more about the the perception of it. Sometimes, people who don't know much about it will have these really wild expectations about a programmer can do and I admit to falling prey to this sometimes with other disciplines, but it can cause problems. I've had multiple conversations with supervisors (not at my current job thankfully) where I've tried and tried to explain why certain things aren't possible or doable within a timely fashion just because the actual change to the user experience isn't huge. It's an annoying conversation but I've gotten way better at managing it. If you want something I personally find annoying, it's the little differences between different programming languages. I don't mean the big stuff like methods and whatnot, it's like the little syntax rules: Like going from just hammering away with JavaScript, then having to switch to Java and forgetting that types are way more strict and that you need that happy little ";" at the end of every line. Sometimes I forget the little rules and while it isn't the end of the world, there's a twinge of embarrassment
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality
Anya is LIVE right now
FREE
Free to watch • No registration required • HD streaming
how much mathematics is required for it? basically how much of what is taught in the entire course? i am trying to figure if i should go for it or not. thanks in advance!
hello! okay, so it’s going to vary a lot between university and country, but I’ll tell you what it was like for me...
some background: my university is in australia, i take four units in a semester, and my degree is 3 years full time.
every semester I had at least one (if not 2-3) programming-centred unit(s). in order I learnt: python (my fav), sql, C#, C, Java, JavaScript, etc. another notable mention is MATLAB.
there wasn’t a lot of maths in my degree, but it wasn’t absent either. my university focuses a lot more on the practical side of computer science - as in programming - rather than the theoretical (math) side. that being said, i actually loved the theoretical math stuff I did as it was very logic based and different to anything i ever did in school (I did not take the highest math available in school). i’d really recommend not being afraid of studying CS because of the possibility of math because in university they often teach things right from the basics, and offer lots of additional support options to help if you’re struggling.
some of my favourite things i learnt studying CS was python, basic react web app creation, a lil data science, discrete structures (fun math), beginner robotics and machine learning! this list is quite broad which means ive been able to explore the plethora of compsci related avenues available to me to decide where to go next.
so you want to learn to code? ^w^ epic !! you can always take classes and whatnot, but you can also learn online >w<
if you’re interested in making a game, the first question is do you want to try and create it with a game maker, or with a programming language! game makers will be much easier for those who haven’t programmed, but doing it by yourself gives you much more control over every aspect of the game :}
if you’re looking at making a fairly typical game, or an rpg, or a text based game, and you don’t need many custom mechanics, it might be good to look into gamemakers ! but if you don’t have the money, or you’d like to step outside of the box, here’s where you can get started :D
big big huge biggest question :} what language would you like to learn! there are a ton of different languages, and they’re all useful for different things :D let me introduce you to a couple of common ones! (note: you can learn a language if you like, then move on to a game ide (which might help you understand the overall coding concepts more) or you can go straight to a game ide and learn whatever language it uses, which i think might be more difficult but if you’re only interested in making games, it should b fine!)
html+css+javascript: these are used in tandem for making responsive websites!
python: generally considered a good language for beginners, syntax is very different than java-like languages, tends to not be used for games but some like the sims 4 and doki doki literature club are made in it / use it!
java: the big guns... this can teach you the base for a lot of key programming concepts that are crucial in game making! i also find my knowledge of java to be very translatable to pretty much any coding problems i come across :D java was used to make minecraft, simcity, and more. although it’s certainly not the top choice for game devs, its very similar to the one that most people use ^_^
c++/c#: even though these are languages with different bases, i’m grouping them together because they’re both included in unity :3 these are the guys you want to get to know well if you’re learning games! the syntax is very very similar to java, and c++ is an object oriented language just like java ! the differences between the two come down to things like garbage collection and interpreters, which just means they’re going to feel the same to write in ^_^
Here are some resources for the different languages :}
(you’ll notice that most of the places have the same names, codeacademy is a rlly great place to learn all of these languages ^u^)
another incredible resource is youtube! im not going to link videos because i personally haven’t used too many for learning these languages (i read books p much) but finding a tutorial that you vibe with is a really nice way to start, and there’s a lot of great free materials on there!
i’m not linking a lot of these because i’m just linking the ones that were the absolute most helpful ones to me, but hopefully these should at least get you started!
i wish y’all luck if you’re learning coding and game making :} it’s hard but its very rewarding! feel free to msg me here if you have any questions or just want to talk abt game stuff ^_^
Summary: Three times a popular girl and a nerd were enemies, and one time where they weren’t
a/n: this fic was inspired by my all time favorite movie, Legally Blonde. I enjoyed writing this fic and I really hope you enjoy reading it :)
Y/N L/N has never been someone who liked to be cast in the shadows. Always being the center of attention, y/n has become one of the, if not the most, popular girls in her town. Homegirl is always dressed like an icon even when doing mundane tasks. Girls like her have never really been into anything “nerdy.” She associates herself with more of the bimbo kind, if you will. It was never really a secret, but she studies incredibly hard to get the chance to go to her dream school and become a great computer scientist. Being in such a large friend group of female fashion icons, there was never really anyone who wanted to talk about topics with math or computer science.
Kang Taehyun, however, is this awkward and incredibly smart boy. Never really associated with popularity, he’s only had about four friends in his life and absolutely no dating experience. He’d always been one to shy away from attention. At most times, he found himself quietly observing others. All this, and he’s still what you would consider the teacher’s pet. He gets all his assignments done, A’s on every test, and raises his hand for every question. As a computer science enthusiast, he has worked his butt off his entire life, filling his schedule with robotics clubs, different languages of code, and coding camps. Senior year was his year. He had finally got into his dream school, TXT Tech, and had already created a very very detailed plan for the future.
Currently, Y/n’s mother was constantly trying to persuade her about fashion school. Having an incredibly fashionable mom wasn’t always the best for situations like these. TXT Tech results were coming out, and even though Y/n was confident she was getting in, there’s still the chance she might have not. Nervously waiting in front of her laptop, she sits impatiently refreshing the page for her results. Within one sentence she hops up from her chair in awe. Obviously attending the school was going to be a big turning point for her, and she was so excited to have been admitted to TXT Tech.
As Y/n got settled on campus, she finds no one else that looks like her. Obviously, because she stands out, all attention is drawn to her. She’s confident, stylish, and hot. In a sea of gray and tan business outfits, Y/n wears a nice pink pantsuit. She’s relishing in all the attention, not seeming to mind that it’s not good, because she knew she looked good.
Her first encounter with Taehyun couldn’t have gone worse. Walking to her class, pink drink in hand, she struts confidently to the lecture hall for her computer engineering class. Not paying attention to where she was going, she bumps into a tall figure. This clearly wasn’t the best way you could go about your first day, but all Y/n could do was apologize.
“I’m so sorry, sir. I didn’t see where I was going and-” she rambled. Pausing in the middle of looking up, a very handsome and slightly awkward boy stands there, obviously pissed off and very annoyed. He scoffs and continues on his way to his next class.
Her second encounter with Taehyun was not great either. Clicking her high heels against the floor, she walks to her first class of the day. She had to get there early, she always had to sit in the front of the class. Taehyun on the other hand, nose buried deep in his book, walks directly to the middle. Despite loving programming, he could only handle so much attention. The class had started off well for Y/n, reviewing the class syllabus of “Principles of Programming Languages.” Taehyun, however, was pissed. He had not been called on once and was so frustrated.
“Y/n, can you tell me the five most commonly used languages of code?” the professor asks smugly. Y/n knew what he was doing. She was being set up. She knew he thought she didn’t know and that lit a fire in her.
“Python, Java, Javascript, C#, and C” she answers confidently. Hearing this, the professor nods his head. He wasn’t expecting that.
Taehyun saw this as a perfect opportunity. His hand shoots up and he comments, “Sir, that’s actually incorrect. C++ is actually more popular because although C has served as the foundation for writing languages like Python and Ruby, C++ is a newer language of code and therefore is compatible with more technology.” Taehyun confidently looks down to wear Y/n sits and smirks. Of course she wouldn’t know that. She’s only the popular rich girl that got in with Daddy’s money. She didn’t actually know anything, right?
It had been a few months since school had started, and finals were just about to come around. For this class’ final, they had to submit a partner project and code a simple game. At this point, it had been very blatantly established that Y/n and Taehyun were enemies. They despised each other. Always competing with each other in class, snickering when the other person got annoyed. It was a silent war between the two of them and everyone could feel the tension in the air. Obviously, it was no surprise they always came up at the top of the class, interchanging the first spot every test. What was surprising, however, was seeing their names together on the partner project roster.
Taehyun was furious. College was supposed to be his bitch, but now he’s acting like Y/n’s bitch. He was so pissed off. Computer science was supposed to be where he had the upper hand. The one place he could feel himself. Where he was finally better than the stupid popular kids. And yet, he’s here, competing with one of them. It wasn’t fair. She was a girly girl, she wore bright colors everyday, she even had a sparkly notebook. How was she so smart? There was no way, it’s just the laws of the universe. You had to choose between looks and intelligence. That’s just what the gods above said. There’s no take backsies.
It’s no secret that Y/n is a fashionable girl and having a female centric hobby isn’t really something applauded at this university. Knowing of Y/n’s insecurities, let’s talk about Taehyun’s. Having always worn non adventurous, boring, clothing, he’s known from the very beginning that Y/n’s beauty has helped her in life. Life is never fair, and it shows. Taehyun never ever got those advantages, and now here he is competing with someone just as smart as him.
As his jealousy grows in the back of his mind, he decides to use this time to take revenge. The next few days are spent typing away in the library, collaborating and researching for hours upon hours. Knowing that this project was worth 40% of their grade, they spent all their time trying to make this game perfect.
The day of the presentation of their near perfect game rolls around and Y/n was confident. She had spent countless nights coding this with Taehyun and on her own. Starting the presentation off, Taehyun pulls up a game completely different to the one Y/n coded with him. “In this day and age, gaming has become a hobby more popular than it’s ever been. With platforms like twitch and youtube, all different types of games can catch the eyes of a wide audience. With this in mind, I’d like to present to you Jackbox Party Pack 8. Roleplay games have become the genre of choice for many gamers to play, and viewers to watch.”
This was not the first person shooter Y/n had coded with him. What was he doing? Y/n stood there, not really knowing what to say. Opening and closing her mouth, she couldn’t form any words. She should have known this was a set up. “Ms. L/n, please continue.” The professor says. She couldn’t. She felt like she was frozen. She was so embarrassed and she should’ve seen it coming. With cheeks welling up in her eyes, she runs out of the classroom.
With a smirk, Taehyun continued on, explaining how the game worked and how he had coded it. He had spent the past few nights coding it by himself and he was incredibly proud. Paying no mind to Y/n, he stood tall and smiled throughout his entire presentation. Obviously, like any normal person, guilt started growing quickly in the back of his mind. He finally realized he had fucked up.
Running after Y/n, Taehyun felt incredibly guilty. He had taken the competition too far, and now he’d made someone innocent fail a required class. After running for what felt like hours, he found Y/n crying under a tree. He knelt down and offered her some tissues. Aggravated, she smacks the tissues away and tells him to leave.
Y/n, on the other hand, felt so angry. How could he do this to her? She hadn’t done anything wrong, and if he didn’t like the way she dressed or the way she conducted herself that was fine. All she needed was her to believe in herself and that got her into TXT Tech. While thinking about all the ways she could end Taehyun, she feels arms wrap around her. They’re 🤮Taehyun’s. Before she can rip his arms off, he speaks up.
“Look Y/n, I’m really sorry about that whole thing I pulled back there. I’ll talk to the professor and give him the real project. I really took it too far and I’ll do anything to make it up to you.” He begs.
“Um,, no? I don’t care? That was literally so embarrassing. If you really wanted to make it up to me you’d leave me alone.” Y/n pushes him off her harshly and storms off. How dare he? It probably took his two seconds to come up with that half assed apology. This was unbelievable.
Y/n started trudging through the grass back to her dorm. All she wanted to do was take a warm shower and cry in her bed. She hated everyone. She wanted him to suffer just as much as she did, but she couldn’t do that.
After two whole days of sobbing in her bed, she decided she was craving her signature pink drink. She really didn’t feel like going out, but delivering one drink would cost like $15. Y/n throws on a casual pink outfit. It’s very different from what she wore at the beginning of the school year, but the one thing that never changed was the color pink. Even in her depressive mood, she still wanted to dress up. She felt most comfortable wearing stylish clothing, that was her home.
Stepping into the store, she sees Taehyun sitting at a table alone. You know when you see old people sitting along and you feel so bad for them you start tearing up? Like what if they lost their spouse or something :(((((. So anyway, Taehyun gives her lonely old people energy and regardless of what he did to her, she decides to keep him company.
“Hey, um, can i sit here?” Y/n asks. Taehyun was so surprised. She wanted to sit with him? But he was so mean to her? He nodded his head and sat quietly. The past two days she could tell Taehyun had done a lot of thinking. She could tell he did it because he felt threatened. That wasn’t enough to forgive him, but at least she was being nice about it.
Taehyun gets up and leaves. He comes back with a pink drink in hand, maybe as an apology. “I really want to apologize to you again, Y/n. Yesterday I don’t know if you saw, but the professor graded the actual project instead, and I had told him everything and that I’d deserve it if he failed me instead.” Y/n wanted to be happy but she wasn’t. She didn’t want him to fail after helping her code the game with her. Maybe she was so nice to him because she had matured, or maybe because she felt something different in Taehyun. Even so, a little embarrassment, she thought, wasn’t enough to cause a person to fail their whole class. Holding his hand on the table, she nods, a silent way she decided to forgive him.
“Well, at least we’re not the worst team. I think group 7 coded a Niki Minaj roblox world.” Taehyun jokes.
She laughs. “That’s so funny, what the heck? I guess we just have some hardcore barbs in this class.” People like Taehyun and people like Y/n were never meant to be friends in the first place, but maybe now they were starting to. Y/n, who was always challenging the term “girly girl.” Who always stressed that you have to believe in yourself when the rest of the world is against you. Y/n who became successful, without changing who she was. Y/n, who was feminine and wanted to show that was never a weakness. And Taehyun, who was always unadventurous. Who was never into fashion but still managed to pull off his nerdy outfits with his cute face. The passionate Taehyun whose only hobby seemed like studying. Gossiping for hours at the cafe, they realized this. They were starting to become friends. No one ever expected them to even be able to hold a friendly conversation, but here Y/n was, challenging everyone again.