Jump to content

FakezZ

Member
  • Posts

    1,557
  • Joined

  • Last visited

Awards

This user doesn't have any awards

About FakezZ

  • Birthday Jun 22, 1998

Contact Methods

  • Steam
    FakeZ
  • Origin
    laptop4games
  • Twitter
    @laptop4games

Profile Information

  • Gender
    Male
  • Location
    Greece
  • Interests
    Programming, music, cryptocurrencies, artificial intelligence, chess, economics, beer
  • Occupation
    Software Engineer and University Student (I know happens to the best of families)
  • Member title
    *Insert unfunny and unoriginal member title here*

System

  • Operating System
    MacOS

Recent Profile Visitors

2,471 profile views
  1. So I recently I read a bit about GraphQL and I proposed it at my company. We decided to try it on a medium-sized project we had. The impressions were mixed. I, working on the backend, found it very easy to work with it. Adding new fields to types was really easy and if I wanted to add a new computed field to a model, I had to edit just one file and write a single resolver and it was accessible everywhere this existed without having to make sure I include it in every endpoint. On the other hand, the frontend guys were not really that positive What I saw is that they had a bit of a hard time writing the queries and mutations. To be honest, I also found it kinda cumbersome that a lot of it had to be written by hand making it very error prone. However, I did not really go very deep in the front-end things so we probably (make that definitely actually) were doing things wrong there. What is your opinion on GraphQL, if you have used it. If not, would you want to try it?
  2. I will definitely give it another try, but my other points still stand about the language. I have given it a try many many times, unfortunately.
  3. Well, I am not really turning it down easily. In fact, I started programming with C++ since I was like 13 or 14 (even have some later projects up on github as well) and even though I don't use it for anything professionally, I still follow all the updates and spin up some test projects when I have time. However, I find a lot of things are handled very very poorly. My biggest problem is that it is so hard to use third party libraries. It is something that should be simple, but it ends up being a pain in the ass, leading you to either use huge libs like boost, or reinvent the wheel and hack around. I like neither of these options. I just cannot recommend C++ to anyone for any use case, especially since rust exists for low-level performance focused stuff.
  4. Yeah, but you could argue that even C++ is running on top of assembly, but I doubt anyone thinks it's a good idea nowadays
  5. Oh based on how you approach learning, you are definitely on the right track. The thing you said about languages not being a problem is spot on actually, basic programming skills and good engineering will get you far in any language or field. I don't really think you should learn front-end unless you are also interested in being a full stack dev (good full stacks are rare and usually quite in demand). I would start with the basic protocols of communication in the web (how TCP works, then the HTTP protocol) and then start with API design. How REST APIs work, how they are designed, dos and donts etc. Then learning to use databases (how to connect, querying the db for data, designing your schemas so they are not very rigid and can be extended without sacrificing a lot of performance). As a start, I would start with node to actually tinker and do basic stuff, as it does abstract a lot which is not a problem if you already know how these systems work under the hood. Now as far as databases go, I think it is good to start with plain old MySQL and then also learn about NoSQL databases such as MongoDB as they are really hot right now (and for a very good reason tbh). Feel free to ask if you have more questions
  6. I wouldn't be so sure. Modern programming is different in terms of concepts too, though. And I doubt C/C++ being the way they are can keep being used for much longer. Oh I am sure the module system will be a failure. With every C++ standard I just keep getting disappointed. I guess you can't really teach an old dog new tricks
  7. Yeah I hope so. I mean I like the way the keyboard feels and types, but the fact that it is unreliable is a big issue. The travel and feedback are fine for me, but I just can't stand not being sure if a key press registers or not.
  8. Yeah I know, but I have been dealing with this keyboard for a year now, a few more months are not that bad
  9. Okay that is nice. However I am still not going to shell out 3k for the same keyboard design that has failed me and everyone I know that has the laptop. The rumors say that the 16 inch model will have scissor switches again and if so it's going to be a buy from me. Otherwise, I might just stick with the machine I have.
  10. They did? Because I read that Apple extended the free keyboard replacements for the 2019 models too and I've been very hesitant.
  11. Well, actually there will be a module system in the C++20 standard (possibly, they promised it in C++17 but it never happened), so it is definitely not impossible and does not have anything to do with low level. Rust has a really nice module system, is also low level and the performance is on par with C/C++. The thing is that all the proposals for the C++ modules are imo not that great and kinda hard to use. The problem with the standard library is that they just keep on adding stuff, sometimes "replacing" older ones without deprecating them and they never break backwards compatibility, which I can understand to an extent, but it has created many many problems. I am not saying, by any means, that C++ is a bad language, but currently there are just much better alternatives such as Rust and sometimes even Go.
  12. From my experience (working professionally as a Backend developer for a year), you should not learn Java frameworks. Actually, it all depends on what you want. Currently, the jobs for Java and C# programmers etc are mainly to maintain old code. I doubt many new projects are made with them (maybe with java since it has evolved quite nicely, but has a bad rep). The hot things right now are NodeJS (kinda biased here since I use node all the time), Rust if you want to get your hands dirty, Go if you want to be somewhere in the middle in terms of abstractions, Python if you like the language (personally I can't stand the syntax) and I think that's if for hot stuff currently, but I might be missing something. By the way, performance wise, the programming language does not really matter all that much. 99.9% of the time you will be bottlenecked by the database doing stuff and not the language. Especially with node, that is non-blocking by nature, you will probably find the performance of the DB will slow you down quite sooner than the performance of the programming language. Besides, applications are now stateless and you will probably use kubernetes in production unless you are going to work for a company-dinosaur, so scaling the service is usually as simple as just creating new instances in kubernetes with the click of a button. Also you should definitely make yourself familiar with Git. It really is not all that complicated and it will save you a ton of time, even for hobby projects. Next up is learning Docker and Kubernetes. I would recommend to learn how it all works behind the scenes before you start writing dockerfiles and running images, as things will start making sense much faster that way. Also as a backend developer you should start learning about authentication and JWT (Json web tokens if you want to google it better), how REST works and why it is stateless, scaling applications and the different ways of doing that etc. I know it sounds like a lot of theoretical stuff, but believe me it will come in handy sooner than you can imagine. Besides, all good apps start with a good design (or architecture if you prefer) first and then using the right tools. I definitely forgot some things, but you can feel free to ask away. EDIT: I would like to add some things I would avoid if I were you. PHP: It is not only a bad language, but it will kinda force you down the path of making websites and using WordPress for the most part, as these are the most popular applications of it. Not that it is bad to make websites and use WordPress, but for me this is not where the interesting and fun stuff happens. C/C++: No problem with these languages (they are decent, if you exclude many things C++ does insanely wrong like the lack of modules, a bloated standard library etc for which C can be forgiven since it was never designed to be that kind of language) I would generally avoid any language without a solid module system, as development nowadays is very very much a team sport. You will use many things other people have written, either in your company or third party libraries. And that is a good thing, because it will not only save you time, but you can rest assured, the library someone has spent a lot of time writing after probably a lot of experience in the specific area the library is about, will always be better than any custom solution you might come up with. It is nice for learning and hobby projects, but professionally reinventing the wheel is never a good idea or encouraged.
  13. I just want the new keyboard to be honest... I am a developer and I've had many keys get stuck or register twice, leading me to almost breaking my desk because the build failed for some reason or I pushed the wrong image. The worst of it is, in Greece, they need 2 working days to replace the keyboard and I cannot afford to be without a computer for 2 full days. Once the new MacBook is out with the new keyboard I'll be the first to preorder.
  14. Oh yeah they are backed by central banks who can print as much as they please. Thankfully we can trust them and the wars by governments to keep the value of our currency stable huh?
  15. Actually there are a whole bunch of scams running with fiat digital currency. Many many many more than crypto, just because it is a much bigger market.
×