Software Development and Programming Careers (Official Discussion Thread)

Type Username Here

Not a new member
Joined
Apr 30, 2012
Messages
16,368
Reputation
2,385
Daps
32,640
Reppin
humans
Kinda off topic, but how much capital are we talking? for the start ups mentioned in this thread to get off the ground. Give me a round about number.


Roughly nothing honestly. Just the computer you have. It costs a lot of time though. A lot of people think that startup means something like facebook was, it's not really like that all the time. My group was trying to secure some government funds by entering contention for a low level contract. It was essentially like research funding. We didn't get it.

To make a software startup all you need is time, an idea, and a solid business plan to present.
 

bigDeeOT

Banned
Joined
Jul 24, 2013
Messages
739
Reputation
-640
Daps
406
You guys give some good advice. Really motivating. I just got accepted to A&M for computer engineering. I hear the program is tough so I definitely want to go into it with some sort of programming knowledge. If I have time I plan on learning python in the summer.

I also keep hearing a lot about matlab in relation to programming and excel. Can someone comment on that?
 
Last edited:

kevm3

follower of Jesus
Supporter
Joined
May 2, 2012
Messages
16,288
Reputation
5,551
Daps
83,471
Here's a nice article on picking your first language:
http://lifehacker.com/which-programming-language-should-i-learn-first-1477153665/1477749117/@normun


I remember when i started to get back into programming sometime last year, I initially chose Python, but I ultimately decided to go with Javascript because of it' syntactical similarity to C... which was the language I tried to learn way back in the day but stopped. Python simplifies a lot of things, such as not needing to declare variables and the use of brackets instead of white-space. I just found those two concepts strange due to me being accustomed to a C-style syntax. I see Javascript as having a lot of growth in the future due to the fact that it is in every browser, and in conjunction with HTML/CSS, can even be used to make windows 8 apps.
 

kevm3

follower of Jesus
Supporter
Joined
May 2, 2012
Messages
16,288
Reputation
5,551
Daps
83,471
You guys give some good advice. Really motivating. I just got accepted to A&M for computer engineering. I hear the program is tough so I definitely want to go into it with some sort of programming knowledge. If I have time I plan on learning python in the summer.

I also keep hearing a lot about matlab in relation to programming and excel. Can someone comment on that?

I haven't used MATLAB myself, but this should be helpful on helping you understand what exactly it is;
http://en.wikipedia.org/wiki/MATLAB

I'm guessing data can be exported and imported from excel to use it for whatever purposes you need to use it in
 

kevm3

follower of Jesus
Supporter
Joined
May 2, 2012
Messages
16,288
Reputation
5,551
Daps
83,471
Here's something to look out for when you are just starting programming and especially if you are used to using a program like excel to do conditionals.

In many programming languages, when making comparisons, you need to be aware that you have to use == or === as opposed to = when doing comparisons. For example, if(a==b) as opposed to if(a=b).
The reason this is necessary is because in many programming languages, a lone = sign is called an assignment operator. A == is the 'equality' operator. An assignment operator assigns a value from one element to another. On the other hand, the equality operator (== or ===) is used to compare whether two values are equivalent.

For example, in a language like Javascript, let's say you have 2 variables, A and B. Var a = 5 and var b = 10:
var a = 5;
var b = 10;

If you ran code like this (console.log is essentially a 'print' statement)

if(a=b)
{
console.log(a);
}

the if statement would actually evaluate to TRUE, and the conditional would be run. The value of 10 would be printed out. Why is this? Because you didn't use the equality operator. What actually happened is that you assigned variable a to whatever value was in variable b and that operation occurred successfully, so the statement evaluated to true.

now if you did this
if(a==b)
{
console.log(a);
}

nothing would be printed out because you successfully used the equality operator "==" or "===" as opposed to the assignment operator.

Now what is the difference between == or ===? With programming, there are weakly and strongly typed languages. In a weakly typed language, the compiler will occasionally convert a variable from one type to another automatically for certain purposes. In a strongly typed language, if a variable is of a certain type, the program does not automatically convert the variable's type, and thus you cannot do operations with a different data type unless converting it first.

Here is another javascript example:
Code:
var a = 5;
var b = "5";

if(a==b)
{
    console.log("true");
}

var a is a number and var b is a string. In this instance, the if would evaluate to true, and the conditional would run because in Javascript, a weakly typed language, the interpreter automatically converts a variable from one type to another in certain instances. This can cause problems for several reasons.

Code:
var a = 5;
var b = "5";

if(a===b)
{
    console.log("true");
}

Now this would actually evaluate to false, because this not only compares 'value', but it also compares 'type'. Although a and b have the same value, they have different types, so this will evaluate to false and the code won't be run.
 
Last edited:

Sane

All Star
Joined
Dec 10, 2013
Messages
4,657
Reputation
1,310
Daps
8,314
Reppin
London Town
Here's a nice article on picking your first language:
http://lifehacker.com/which-programming-language-should-i-learn-first-1477153665/1477749117/@normun


I remember when i started to get back into programming sometime last year, I initially chose Python, but I ultimately decided to go with Javascript because of it' syntactical similarity to C... which was the language I tried to learn way back in the day but stopped. Python simplifies a lot of things, such as not needing to declare variables and the use of brackets instead of white-space. I just found those two concepts strange due to me being accustomed to a C-style syntax. I see Javascript as having a lot of growth in the future due to the fact that it is in every browser, and in conjunction with HTML/CSS, can even be used to make windows 8 apps.

Do you code in just straight up Javascript or do you use a library like JQuery?

I've been learning Javascript but at the moment I'm using Backbone js which uses jquery, I'm wondering if it's better for me to code in raw Javascript with no framework/library or just continue with JQuery :lupe:
 

kevm3

follower of Jesus
Supporter
Joined
May 2, 2012
Messages
16,288
Reputation
5,551
Daps
83,471
Do you code in just straight up Javascript or do you use a library like JQuery?

I've been learning Javascript but at the moment I'm using Backbone js which uses jquery, I'm wondering if it's better for me to code in raw Javascript with no framework/library or just continue with JQuery :lupe:

Right now I'm learning straight Javascript... I'll start adding libraries into the mix down the line once I really get adept at the language. For productivity purposes, there's nothing wrong with using a library and it can actually be beneficial due to the time saved and to eliminate browser compatibility issues... with that said, it pays to take the time to learn the language in depth as well, so you can have a full understanding of how the library works and so you can pick up other libraries a lot more easily. My opinion is to keep using the libraries, but take time to learn the language so you can truly understand what's going on behind the scenes and have the ability to make your own code when need be.
 

kevm3

follower of Jesus
Supporter
Joined
May 2, 2012
Messages
16,288
Reputation
5,551
Daps
83,471
Something I find is that you simply have to stick with programming. You won't 'get' everything you come across immediately, but once you do, it'll be clear as day... so realize that not everything will stick immediately, but it will come to you eventually. Also, I find there are a lot of verbose terminology to used to require rather simple concepts. It can end up intimidating you, but when you come across a term or concept you don't understand, hit wikipedia up or do a google search.

One such term you'll hear brought up a ton is 'function'. A function is essentially a reusable block of code with parameters, aka user defined inputs. For example, say you wanted to square 4 different numbers... instead of always having to type var a = 4*4; var b = 5*5; etc, you can create a function. Use whatever syntax your particular language calls for... but this example will be in Javascript. First, you declare the function by using the function keyword and then putting a name after it. Then you follow it with () and inside the (), you define a parameter name. This parameter name will be passed into and referenced inside of the function.

Code:
function squareNum(number)
{
    return number * number;
}

once you've created the function, you can then 'call' the function, or in other words use the code to process whatever inputs you want whenever you need it to. To call the function, you type it's name and in place of the parameter name, you input what value you want to use.
To find the square of 5, you simply can call the function

Code:
squareNum(5);

It will return 25.
When you really start wanting to do complicated things, you can see where creating functions will save you a ton of time. Here is another example that will clarify further. This example will use two parameters. If you are using more than one parameter, you have to separate them with commas. Let's make a function that calculates the area of a rectange.

Code:
function calcRect(length, width)
{
     return length * width;
}

Now, we have a rectangle with a length of 5 and a width of 7. To use this function, we simply type

Code:
calcRect(5,7);

5 is assigned to the length and 7 is assigned to the width, and these values are passed and used inside of the function. The value that will be returned is 35.
You can even create a function with no parameters.
Code:
function repeatText()
{
console.log("Hi, this is a test mesage");
console.log("This is message 2");
console.log("This is message 3");
}

When you call this function, it will simply print out the messages inside it
Code:
repeatText();
The output will be:
Hi, this is a test message
This is message 2
This is message 3
 

kevm3

follower of Jesus
Supporter
Joined
May 2, 2012
Messages
16,288
Reputation
5,551
Daps
83,471
I might just have to start these posts on a blog because I don't want to flood this thread if people aren't really reading it, but hopefully some of these observations will help someone out.

I've been getting back on Javascript, and it can be a very strange language. The syntax for the basics isn't that difficult, but once you start dealing with prototypes, that's where it can get confusing. Unlike most other object-oriented languages, which are class-based, Javascript is prototype-based. Javascript doesn't have any sort of class keyword, but rather, it's 'prototypes' are created via the 'object constructor' function. What can make that confusing when you're first starting is that the object constructor essentially uses normal function notation. For example, if I want to create a dog prototype, it goes as follows:

function Dog(height, weight, breed)
{
this.height = height;
this. weight = weight;
this. breed = breed;
}

Then to create a new object based off of that prototype
var rott = new Dog(10, 5, "rottweiler");

In order to create hierarchy like you see in class-based languages, you have to link these prototypes together, and it creates a prototype chain of inherited properties. I'll go into that more some other time.
---------

Note 2
Something that I finally just started getting my mind around today was that functions in Javascript are 'first-class', meaning you can do things like store them in variables or you can even insert them into another function's parameter. Here is one example.

Code:
function addNumber(num1, num2)   //create a simple function to add 2 numbers
{
  return num1 + num2;
}

function multiplyNumber(num1, num2)   //create a simple function to multiply 2 numbers
{
  return num1 * num2;
}

console.log(addNumber(4,6);    // the output would be 10. 4 and 6 are added together
console.log(multiplyNumber(5,10); //the output would be 50. 5 and 10 are multiplied together

Now in the following example, a function will be passed as a parameter of another function
Code:
console.log(multiplyNumber(addNumber(3,4), 8));

What is going on in this example is multiplyNumber has two parameters which are num1 and num2. In the position of num1, we have the function addNumber(num1,num2), and in the position of num2 we have a value of 8. so what happens is that addNumber(3,4) gets evaluated and returns 7... the 7 that is returned is multiplied with the 8... so the output will be 56. You have to work 'inside-out'. start with the addNumber(3,4)... when that is evaluated to 7, here is what you essentially have multiplyNumber(7,8)

Here is another example... can you figure the output?
Code:
console.log(multiplyNumber(addNumber(addNumber(3,4),4),8));

The answer is 88
 
Top