Software Development and Programming Careers (Official Discussion Thread)

kevm3

follower of Jesus
Supporter
Joined
May 2, 2012
Messages
16,288
Reputation
5,551
Daps
83,466
Does anyone know of a book that talks about software design in general? I've been reading all these books on syntax, and now I'm reading a general book about object oriented principles, but I need a decent one that talks about how to structure software, the program loop, state, etc.
 

kevm3

follower of Jesus
Supporter
Joined
May 2, 2012
Messages
16,288
Reputation
5,551
Daps
83,466
I've been messing around with Java and learning a lot about classical object oriented programming. I'm primarily a Javascript programmer, but I think to learn advanced Javascript, you eventually need to learn at least the fundamentals of Java, C# or some other classical object oriented language because a lot of the advanced javascript books create emulations of concepts such as private methods and attributes since Javascript doesn't have them natively. You'll end up confused as to exactly what a lot of the code is trying to do if you have no idea about classic OO concepts.

also, it's quite interesting in seeing the difference in just how to structure programs in the two languages. With Java, you have to declare data types, put everything in classes, etc. It's a lot more rigid, but I can see how this is beneficial when working in large teams.

Javascript is so flexible, it can lead to a lot of 'clever' programming that ends up creating code that is hard to understand, such as functions being passed everywhere, all kinds of method chaining, etc.
 

kevm3

follower of Jesus
Supporter
Joined
May 2, 2012
Messages
16,288
Reputation
5,551
Daps
83,466
I've been doing a lot more reading on Java and it's very interesting in how it compares to Javascript. Here are my programming observations of the day. Maybe some of you will find it useful and hopefully some of you will share your own. You learn a lot that you may have missed out on by writing about what you learned initially.

- In Java, there is not really any sense of 'global variables' since everything has to be put in a class. In Javascript, global variables are everywhere unless you know how to use functional scope to circumvent that.

- In Java, once you get past all the type declarations and 'access modifiers', I'm finding it a bit more readable than some of the Javascript since Javascript is so free that you have people writing all kind of code. When you have functions and objects being returned in functions and method chaining, it starts to get hard to follow some of the code.

- Class-based inheritance in Java is more easily understood and straight forward. Protypal Inheritance in Javascript is more powerful, since it can actually be used to emulate class-based inheritance.

- The 'this' keyword in Javascript is pure madness. The context of 'this' can change depending on what function is calling it. If some code is being called by the object's method, then this refers to the object that called it. However, you can use methods named 'apply' and 'call' which allow you to borrow methods from other objects and apply them to other objects. This changes the context of 'this'.

- Java has better development tools, but I love how quickly I can check Javascript results... Save the file, open it in the browser, and viola. On the other hand, I feel much more 'safe' writing Java code because the compilers spit out much more useful information. Debugging in Javascript can come down to using alerts or commenting out blocks of code to isolate the error.

- Java is more structured and I think it'll be a lot easier to work in big teams and in big codebases as compared to Javascript. Javascript is more expressive, and for smaller teams or singular programs, it allows someone to work much faster.

- Another interesting observation about Javascript when working in the browser is that essentially everything is either a method (function that defines some behavior of an object) or attribute (variable that defines some property of an object). Why is this? Because there is a 'global object' called window that is used as the default context... so when you type code such as:
var a = 5;

it is actually stored onto the window object. You can still access it like
console.log(a);
and it will output 5, but you can also access it like:
console.log(window.a);
 
Last edited:

kevm3

follower of Jesus
Supporter
Joined
May 2, 2012
Messages
16,288
Reputation
5,551
Daps
83,466
Update: 11/12/14

I spent a couple of hours programming today, and I have much more to go, but I'm taking a break to let my brain cool down.

I started off with Java and learned more about classes, constructors, methods from a subclass overriding a method from the superclass, and I started to get into the 'abstract' keyword, but I stopped there. I'm starting to get used to the verbose nature of Java and declaring types is second nature. I still need to understand the exact purpose of the 'static' keyword.

After getting done with Java, I moved on to Javascript, specifically working through a book on the MEAN (MongoDB, Express.js, Angular.js, Node.js) stack. It feels great to finally start understanding node.js. What did I learn specifically? I learned about middleware and how to 'mount' it. Middleware are functions that you register with your node.js program that respond to certain requests made to the server. To 'mount' middleware means that you specify the 'route' or 'directory' that a specific middleware responds to.
 

KOohbt

Superstar
Supporter
Joined
May 6, 2012
Messages
13,454
Reputation
2,165
Daps
49,523
Reppin
NULL
Brehs do I need school to get a job if I learn coding on my own?
 

kevm3

follower of Jesus
Supporter
Joined
May 2, 2012
Messages
16,288
Reputation
5,551
Daps
83,466
I can't wait to see why people praise VS so much. I've tried the Express edition for a little while, but after 30 days or so, it asks you to do some registration and I never bothered. Now I can switch between C#, Java and Javascript with relative ease. VS for C#, IntelliJ for Java, and WebStorm for Javascript
 

Blackking

Banned
Supporter
Joined
Jun 4, 2012
Messages
21,566
Reputation
2,486
Daps
26,219
Employers Want You to Have These Cloud Skills
“Cloud” is in the running for the most-hyped term of the decade, and with good reason. Despite some early skepticism over the willingness of consumers and businesses to upload their work and lives to remote data centers, a rapidly growing number of people trust the cloud to store and manage their data.


That desire for the cloud creates a corresponding need for IT professionals who can manage the complex systems underlying it. A recent analysis of searches by hiring managers in the Dice resume database found that employers want pros adept in Linux, Java/J2EE, SaaS (Software-as-a-Service), Python, virtualization, and other skills. Here’s the complete list of the most popular:


1. Linux
2. Java/J2EE
3. SaaS
4. Python
5. Virtualization
6. Hadoop
7. vCloud
8. Security
9. Salesforce
10. Sales
11. C, C++, C#
12. OpenStack
13. Big Data
14. DevOps
15. Puppet


Many entries on this list hint at cloud-builders’ preferences for platforms and tools. Puppet, for example, is an open-source IT automation tool, created by Puppet Labs, that’s used by a growing number of universities and companies to manage system configurations. OpenStack is an IaaS (Infrastructure-as-a-Service) platform similarly relied upon by a number of firms. And efficient data storage and analysis wouldn’t be possible without Hadoop or all the tools that fall under the umbrella of “Big Data.”

Architects, engineers, developers, administrators, and analysts were the top positions sought by hiring managers in the context of cloud. That’s unsurprising, in light of all the companies (big and small) devoting enormous resources to building out, managing, and tweaking their respective cloud platforms. In tech-centric cities such as Seattle, the need for professionals skilled in cloud fundamentals has contributed to increased hiring. And with increased hiring comes bigger salaries—which makes the cloud good not only for consumers and businesses, but tech pros as well.

From Dice.
 

el_oh_el

Bulls On Parade...
Supporter
Joined
Aug 23, 2012
Messages
10,312
Reputation
1,910
Daps
26,039
Reppin
H-Town
I've been messing around with Java and learning a lot about classical object oriented programming. I'm primarily a Javascript programmer, but I think to learn advanced Javascript, you eventually need to learn at least the fundamentals of Java, C# or some other classical object oriented language because a lot of the advanced javascript books create emulations of concepts such as private methods and attributes since Javascript doesn't have them natively. You'll end up confused as to exactly what a lot of the code is trying to do if you have no idea about classic OO concepts.

also, it's quite interesting in seeing the difference in just how to structure programs in the two languages. With Java, you have to declare data types, put everything in classes, etc. It's a lot more rigid, but I can see how this is beneficial when working in large teams.

Javascript is so flexible, it can lead to a lot of 'clever' programming that ends up creating code that is hard to understand, such as functions being passed everywhere, all kinds of method chaining, etc.
Sounds similar to how you can hang yourself with C
 

GoldenGlove

😐😑😶😑😐
Staff member
Supporter
Joined
May 1, 2012
Messages
58,234
Reputation
5,496
Daps
137,316
Anyone here familiar with tumblr and HTML?

The theme that I'm using got all messed up after they updated their site, so the photosets that I drop are muggy and low resolution now. I've been fiddling around with the code for like a week now and I can't seem to figure out how to fix this shyt at all. Just trying to see if anybody on here knows a workaround before I go and cop a premium theme to display my photos how I would like to.

:snoop:
 

Data-Hawk

I have no strings on me.
Joined
May 6, 2012
Messages
8,419
Reputation
1,985
Daps
16,285
Reppin
Oasis
...ugh ....but I do not know where to begin........... Its like I already have character and story design down..I just have to come up with tech know how

mmorpg is one of the most difficult games to develop, will this be 2D or 3D? I don't know why but all new comers to game development seem to want to create a "mmorpg"...lol

http://www.gamebreaker.tv/mmorpg/can-learn-mmo-development-costs/

"Is it plausible to develop an MMO with $1 million?
I’m sure it’s possible to develop an MMO with $1 million, but I’m not sure it’s plausible. If we look to other MMOs as examples, it is clear that a $1 million budget isn’t realistic"


http://gamedev.stackexchange.com/questions/90/why-is-it-so-hard-to-develop-a-mmo
"Even on their own as a single player game, an RPG with the complexity of a World of Warcraft would take professional teams years to develop to the same level of polish: an enormous content investment, lots of work up front and afterward with balancing and playtesting, and some of the most complicated interactions of any game genre. These are commercial-level games, and while yours might be smaller, it will still require a lot of effort just to be a good game before you pour in the extra work to make it become a good multiplayer game"




I suggest looking into something alot simpler to start out with. I've seen developers give their experience and usually MMO's involve a variety of different types of programmers( Server programmers, engine programmers, game play programmers ), Plus the Artist( which is a whole other world in Itself ) But don't get me wrong, there are alot of 1 guy teams out there, for example:

I've talked to dude before and he's been working on this game for over 3 years by himself ( granted He's not doing it full time ), but did the art/programmer all by himself



Now I'm not one to tell somebody what they can and can't do, I just wanted to throw that out there.

Look into Unity 3D , Blender3D and Gimp ( if you cant afford Photoshop )

For programming, this channel is pretty good
https://www.youtube.com/playlist?list=PLAC325451207E3105
 
Last edited:

Data-Hawk

I have no strings on me.
Joined
May 6, 2012
Messages
8,419
Reputation
1,985
Daps
16,285
Reppin
Oasis
. I still need to understand the exact purpose of the 'static' keyword.

.

Static is for when you want data shared among all instances of a particular class Or you want to do one thing, but you don't want to create an instance just to get the results. You are using statics all the time and don't even know it :blessed:

A perfect example is the Math Class in Java( https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html ). As you can see they are all static functions, the reasoning behind this is, With all of those functions organized together, what if I only wanted to use "one" of those functions and never use the Math class again? It's a big waste to create a instance of the math class and then use the function.

Non Static, you would have to create an instance

Math :mjcry: = new Math();

:mjcry:.Function ( input );

Static Example:
Math.Function ( input ) // Done:blessed:

Good Tutorial





I would also recommend looking up the Design pattern - Singleton . Best way to think about a singleton is a Game Manager in a video game. I want a object to manage all of the resources in the scene and I want to make absolutely sure that only one object can do this or all hell would break loose if you had 2 objects doing the same thing.
 
Last edited:
Top