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 - "syntaxes"
-
I AM SO FUCKING TIRED OF BUSINESS MOTHERFUCKERS USING TECHNICAL FUCKING BUZZWORDS LIKE THEY KNOW SHIT ABOUT TECH! THEY TRY TO BE FUCKING SMARTASSES AND ARGUE WITH DEVELOPERS LIKE GOD KNOWS WHY THIS FUCKING DOUCHE IS NOT THROWN IN /dev/null YET!
Ugh. He try to sound smart and argued with a unity game developer why the dev is not using "react" and "redux" in his game, purely because "since its the hype in 2016"... I was like really nigga?? FOR FUCKS SAKE Do some research before you say! Then he argued with a senior full-stack web developer on why they're using ES6 and not ES7, purely because he heard that ES7 is newer. When we try to explain we're not using decorator syntaxes since we use pure functions in our codebase, or how we haven't installed any ES7 babel plugins to transpile our code, he kept saying ES7 is newer and cooler and we must use it somehow... More to rant but i am fucking tired right now...14 -
I had to open the desktop app to write this because I could never write a rant this long on the app.
This will be a well-informed rebuttal to the "arrays start at 1 in Lua" complaint. If you have ever said or thought that, I guarantee you will learn a lot from this rant and probably enjoy it quite a bit as well.
Just a tiny bit of background information on me: I have a very intimate understanding of Lua and its c API. I have used this language for years and love it dearly.
[START RANT]
"arrays start at 1 in Lua" is factually incorrect because Lua does not have arrays. From their documentation, section 11.1 ("Arrays"), "We implement arrays in Lua simply by indexing tables with integers."
From chapter 2 of the Lua docs, we know there are only 8 types of data in Lua: nil, boolean, number, string, userdata, function, thread, and table
The only unfamiliar thing here might be userdata. "A userdatum offers a raw memory area with no predefined operations in Lua" (section 26.1). Essentially, it's for the API to interact with Lua scripts. The point is, this isn't a fancy term for array.
The misinformation comes from the table type. Let's first explore, at a low level, what an array is. An array, in programming, is a collection of data items all in a line in memory (The OS may not actually put them in a line, but they act as if they are). In most syntaxes, you access an array element similar to:
array[index]
Let's look at c, so we have some solid reference. "array" would be the name of the array, but what it really does is keep track of the starting location in memory of the array. Memory in computers acts like a number. In a very basic sense, the first sector of your RAM is memory location (referred to as an address) 0. "array" would be, for example, address 543745. This is where your data starts. Arrays can only be made up of one type, this is so that each element in that array is EXACTLY the same size. So, this is how indexing an array works. If you know where your array starts, and you know how large each element is, you can find the 6th element by starting at the start of they array and adding 6 times the size of the data in that array.
Tables are incredibly different. The elements of a table are NOT in a line in memory; they're all over the place depending on when you created them (and a lot of other things). Therefore, an array-style index is useless, because you cannot apply the above formula. In the case of a table, you need to perform a lookup: search through all of the elements in the table to find the right one. In Lua, you can do:
a = {1, 5, 9};
a["hello_world"] = "whatever";
a is a table with the length of 4 (the 4th element is "hello_world" with value "whatever"), but a[4] is nil because even though there are 4 items in the table, it looks for something "named" 4, not the 4th element of the table.
This is the difference between indexing and lookups. But you may say,
"Algo! If I do this:
a = {"first", "second", "third"};
print(a[1]);
...then "first" appears in my console!"
Yes, that's correct, in terms of computer science. Lua, because it is a nice language, makes keys in tables optional by automatically giving them an integer value key. This starts at 1. Why? Lets look at that formula for arrays again:
Given array "arr", size of data type "sz", and index "i", find the desired element ("el"):
el = arr + (sz * i)
This NEEDS to start at 0 and not 1 because otherwise, "sz" would always be added to the start address of the array and the first element would ALWAYS be skipped. But in tables, this is not the case, because tables do not have a defined data type size, and this formula is never used. This is why actual arrays are incredibly performant no matter the size, and the larger a table gets, the slower it is.
That felt good to get off my chest. Yes, Lua could start the auto-key at 0, but that might confuse people into thinking tables are arrays... well, I guess there's no avoiding that either way.13 -
The fact that I still have to Google up even the simplest of css syntaxes even tho I've been doing css for years now1
-
!rant
Chilled out with one of my non-programmer friends over the weekend. We were talking about various projects I had worked on, and he became interested. He started learning js that night, and I was proud.
Cut to today, he sends me a message complaining about some of the weird syntaxes in python. Super proud moment. -
so many great fucking small or niche languages are ruined by shitty/odd syntaxes
sorry, but if you use the | character for function arguments, i'm not touching your language
for FUCKS sake5 -
In a time where a web dev is expected to know, well.. everything... Backend -JAVA, python, nodejs and C++ would be great.
Front- angular, react, other 10 libs
DBs -sql, mongo, redis, elastic, kafka, rebbitmq
Also be devops on the side with AWS and docker kubernetis and more stuff
How the f is that possible?
In my real job for the last couple of years and different companies, I usually use 1 language/framework & 1 main DB.. and although it's possible in some companies, but in mine, ppl dont get access to AWS etc..
So let's say there's me.. a server side dev for years.
So I decide to be better and learn Golang.. cool lang, never needed in my job, after few days of not using it I forgot all I learned and that was it.
Then I realized I gotta know some frontend cause everyone want a fullstack ninja nowadays.. so I tried Vuejs.. it was amazing .. never got to use it at work, cause i was a backend, and we didnt use frameworks on our products back then..
Also forgotten.
Then I decided to learned nodejs, because this is the coolest thing ever.. hated it, but whatever... Never got to use it at work, cause everything was written in other lang which the whole team knew... Forgot the little i knew.
Then I decided, its time to see what Angular is, cause everyone started using it... similar idea to vuejs which i barely remembered, but wow it's a lot of code to remember, or I'll have to google everything.. so I went over it, but can't say i even learned it.
Now Im trying to move on to python, which, I really am learning in depth.. however, since I dont have real experience with it, no one gives me a shot at being a python dev, so again i feel like I'm trying to memorize syntax and wasting my time..
Tired of seeing React in all job ads, i decided to have a look what's that all about.. and whadoyaknow... It's fucking the same idea as vue/angular with again different syntax..
THIS IS CRAZY!
in how many syntaxes do i need to know how to make a fucking crud api, and a page with same fucking post form, TO BE A GOOD PROGRAMMER?!?6 -
A language with the ability to write in two different syntaxes is nice until you start mixing the two..
Yuck1 -
I found the best text editor for basic code fixing
For a couple of days, I was looking for a simple terminal-based text editor for taking simple code notes or basic code fixing kinds of stuff.
As an aspiring developer, I really like the concept of coding without touching the mouse.
So I downloaded the king of CLI text editors, Vim.
Now, guess what happened.
Yeah, you're right. I stuck inside vim and couldn't even quit from there.
Then, I started watching a bunch of tutorials and started reading vim's documentation.
But then I realized, I have to learn a lot of things only to operate vim and it's a pretty lengthy process.
At that time, I really needed a very simple text editor for doing basic stuff.
But, vim is not simple... you know :)
So, I had to come back to 'nano' & I was not happy enough to write codes by using 'nano'.
Suddenly, I discovered another really cool text editor called 'micro'.
It's really awesome.
It's not as advanced as vim but definitely a lot better than nano.
Micro is an open-source command-line text editor created by Zachary Yedidia.
Some basic key points of Micro:
1. It's really easy to operate.
2. It has different colours and highlights.
3. It supports syntaxes for over 70+ programming languages.
4. It has mouse support.
5. Plugins & colour schemes.
The best thing for me is colour schemes & screen split support.
Check out my full article on DEV - @souviktests.20 -
Is there anyone who actually likes using Angular?
I decided to learn it (im backend only for many years) to be less clueless in the frontend world.. and so far i find it horrible.
Is it just a "culture shock" or do frontent angular devs also find it.. not so fun to use?
What i dont like so far is the inconsistency of syntax.. i feel like similar things done differently and not following rules that can be learned, i can't remember/guess anything, everything needs to be googled
i.e- `*ngIf` vs `[ngSwitch]`
Not to mention 3 different syntaxes to simply bind a property..
I tried vueJs about 3 years ago and it was so fun and EASY20 -
I just finished a bunch of newly configured containers that I had to switch off centos7 to almalinux9. I have one thing to say,
Fuck NetworkManager!
I know im basically a dinosaur when it comes to any coding, especially scripting. I prefer notepad.exe or sublime to VScode... you couldnt pay me enough to use crap like vbstudio... but I know I need to get better at not just rewriting thing to suit my preferences since i have others working for or with me now.
so... I tried... I reeeeally tried to tolerate NetworkManager... tried to learn/tolerate dumb nmcli and it's matrixed array of dyslexic syntaxes. I just couldnt do it... that plus the damn default images having bs like an effectively blank, non-error-generating resolv.conf file.
NetworkManager got killed... I went back and edited my network-scripts and scripted those to other scripts for changing the statics around if/when needed... took waaaay less time.
I just dont get why something like NetworkManager even exists on any EL distro... yeah sure, wifi takes a couple extra steps and is super common now... but shouldnt be how any actual servers need to communicate. can people just not fathom putting shit in a few files in proper syntax anymore???5 -
1. Languages will evolve to make as short as possible in terms of lines of code. Shorter syntaxes all the way.
2. Each platform/part of architecture will have only 1-2 languages to code in. There will be convergence of languages. This is more to do with industry usage. Underground new languages will still continue to flourish.
3. Focus will be more on natural language. Both as research item for understanding humann languages better and possible movement of coding languages in the direction of natural languages. Natural syntax as much as possible.
4. Softwares will be self learning. Every interaction will result in the software to evolve as per your usage. That would mean the same software will behave differently for every user. This will be basis user's interaction.
5. Less physical interaction. More to do with what the user thinks. Intuitive.rant wk127 languages interaction coding coding in future software development ai to overtake humanity soon futuristic future future is now1 -
I saw a video on tiktok a couple days ago that had a pretty interesting opinion. The guy said that we should stop creating programming languages and stick to only a couple.
His main point was because with all these different programming languages, there is different syntaxes the programmer has to learn. Even some of the universal syntaxes are different in some languages. For example, in Rust, to print something you use “println!(...);”
He said this is counter productive because in a majority of other programming languages, the ! Means negation. He also said something about Golang also having some of those syntax problems but I can’t remember exactly.
His point was that if we stuck to a single syntax, then we could spend more time doing productive stuff and less time relearning how to do stuff with different syntax. For example, in mathematics all symbols have pretty much the same meaning across the field. An equals sign will always mean the same thing.
What do u guys think? I thought it was an interesting opinion and I think I agree to some degree . I’ll post the link to the video if I find it again23 -
My biggest pet peeve is that too many developers don't realize that "regex != regular expressions", probably because of bad naming and bad documentation. It's easy to assume that they're the same, but most regex syntaxes today are actually at least context-free grammars, since they support backreferences.7
-
What Frameworks should I learn in 2018?
PS: I currently do not use any (cos I have been learning basic syntaxes)14 -
What exactly is the essence of web frameworks introducing new syntax? Does it mean language can't be augmented without turning the syntax upside down? All js frameworks are guilty (think svelte is the exception). Php, eloquent accessors, laravel facades etc.
Then, in addition to learning their available methods, classes, folder structure and possibilities, etc, you have to grapple with silly syntaxes. Sad2 -
Markdown admonitions are unofficial extra's to the spec to render basic info/warning/note alert boxes. There were already 2 syntaxes for these:
Supported in python-markdown, Mkdocs, marked js extension: 3 exclamation marks followed by a type, and indenting its contents by 4 spaces:
!!! note
Supported by Docusaurus & extended by Nuxt.js as "MDC" or "markdown components": 3 or more colons followed by a type, and with an end delimiter:
:::note
:::
So why the fuck did Github have to go for this retarded syntax mixing blockquotes with half the syntax of an image link instead of following in the footsteps of others?
> [!NOTE]
> -
!python/ORM
Someone got quality tutorial/blog about Sqlalchemy ?
Even tho I am dealing with py+flask+sqlalchemy last 3 years I am still able to get super confused about contexts/syntaxes.
(Model.query vs session.query(Model), etc.)
😪3 -
I think I've asked this before. Just cropped up again cuz I'm pushed to do some stuff in nextjs
I Wonder how much longer before js framework devs realise they've been reverse engineering the browser this whole time, that the current browser spec was outdated since the dawn of Web fidelity and real time applications
I wonder whether there are some guys who have seen this and are already cooking in the background. The browser still treats the Internet like front end and back end, whereas with the way apps are going (eg deprecation of the front/back end roles), it seems apparent the browser needs to scale up by fading whatever js is now
I'm seeing "use server", which was one of php's infamous atrocities back in the day (lack of separation of concerns, everything in index.php). It's shocking how those who ridicule that language let this fly, but that's probably a separate thread. Point is, a bunch of these stuff done by front end frameworks seem like boilerplate but the syntax is far different from what I remember javaScript to be. I only vaguely recollect and understand what I'm reading
Why not merge all the cryptic syntaxes struggling to achieve bare minimal expectations, into advanced markup language controlled by dom attributes? Overhaul and Rethink client - server communication to fit modern standard. Someone needs to step out of the box and take a good look at the rat race. I find our lives would be made much simpler if api integration into client side behaviour wasn't a separate thing altogether
You have all these funny hoops and precarious bridges to cross. The reality is what we're fighting to overcome is the manner the architecture is setup. We need a Google/meta/amazon/apple to step in with a new browser since it's not a weekend gig and might need their reach to catch on with mainstream users. Sadly, they're the same guys rolling out new js frameworks2 -
How good is the world of java advanced for a career these days? I learned java basics (collections,OOP, syntaxes, threads, a little bit of spring,etc) aka core java in college and then went straight to Android dev.
I am thinking of learning about the contents of java ee and me or whatever "advanced" java is. How tough is it? What is the career in it? How good is the possibility of getting a fresher job in it?2 -
Great practice/skill sharpening idea for my fellow mad dogs that like to get down in multiple languages/syntaxes:
Pick something simple that won't cause too much stress, but will make you sweat a little bit and put up a good fight, ha!!!
For example, I picked the classic "Caesars Cipher" and picked 5 languages to create it in! I picked Dart, Java, Python, CPP, and C. Each version does the same thing:
1. Asks for a message
2. Runs the logic
3. Prints the message cipher.
4. To decrypt, you just run the same program again and enter the cipher text at the message input prompt. The message gets deciphered using the same logic an shows up as the original text.
The kicker:
Only dox/books allowed for reference. Otherwise it wouldn't push you to get better!!!
Python, C, and CPP were EASY, even with me never having used C before. I am great at using Dart, and that one really challenged me for some reason, but I finally got it. The previous 3 langs took less than 40 lines of code each (with Python being only 18 I believe). Dart actually took somewhere around 50, and Java took about 371784784. (Much love to Java though for real!)
Kinda boring as shit, but I gotta tell you it felt fuckin GREAT to look at all 5 of those programs after completing them, no matter how barbaric... especially when you complete 1 or 2 in a language you've never used or maybe felt really challenged by. Simple exercises that hold a lot of important, relatable logic no matter the subject is our lifeblood!!!9 -
Getting used to C++.... Jesus those syntaxes.... you can write it so or so or this way... also this way.... did i mentioned this?!1
-
I want to study Java + Spring Boot but I hate the long syntaxes and boilerplate codes. Too many codes to do simple things turns me off.4