pixelp3
But here's one thing I've found: People who really want to have fun find a way. There are small pockets all over the bay. SJ downtown is a little lame but it is getting better
And yes they are illegal - they are often taken down
1) It should just work, with no annoying aspects. Should be completely intuitive and engaging/fun
2) People want to use it on a regular basis. For example people play games for hours at a time on a regular basis, or use an app every day multiple times a day. Not just a "use it for 10 mins, think it's cool but never use it again" app
Essentially here is what was happening: -Create C++ object -Try to point some reference to this object, but object address is suddenly 0x1 (just by doing one step in gdb) when trying to access one of it's properties. -Tried to run it with valgrind, and it works fine with valgrind, which leads me to believe it is some memory allocation issue with C++ on the heap -I modified the C++ class to have a uint64_t variable before the variable declaration. Now program works fine!
I believe the issue is probably with heap corruption at some point, when something overwrites certain addresses.Having that extra unneeded 64-bit int in the heap makes it still be valid.
If there were good alternatives then maybe we can discard C. But if you want to become a professional developer you SHOULD know C, even if you dont use it regularly. The same way I believe every professional should know basic OS concepts, threads, memory management, architecture, etc.
For other majors which have require some programming it is best if they stick to something like Python, etc.
But the author does make a lot of good points regarding how many holes there are in these languages, and how much of a time sink they can. In fact I spent the last few days trying to track down this obscure bug where an object being allocated in C++ was randomly being free'd (according to gdb a valid address would become 0x1 all of a sudden) and I couldn't figure it out. I implemented some nasty WAR which makes the program run now...
But for educated professionals who are already working here? Doesn't make a lot of sense.
They don't realize how deep computing and computer science truly are. Data Structures and Algorithms, Computer Architecture, Operating Systems, Machine Learning, Computer Graphics, Databases, Compilers and Languages, etc. etc. all require a deep knowledge of CS.
Pretty much anything you use or build on was developed because of years and years of CS study or PhDs. When you use something like Google Maps, Chrome, iOS, Linux, AWS, Facebook (yes even Facebook), etc. it is because of the work of CS grads and professors over a long period.
Do you want to have deep knowledge of various systems and truly solve problems or just want to hack out another webapp or mobile app? Maybe that defines the difference between a CS major and "just-another-dev"
Is recognition one's main objective when working at such companies?
Some people do it for the pride. But for many the chance to work on some great projects and learn from arguably the best in the industry is an opportunity which is too hard to pass up.
If you expect to work on projects like Google Maps/Earth, Android, search, images (machine learning), cardboard VR, gmail, etc. etc. and don't have an understand of algorithms or data structures, then Google isn't really the place for you.
You can't expect "frameworks" or libraries to do everything for you