Thursday, July 24, 2014

Creating my website, graduation project and ASP.NET MVC

So I've been thinking lately, I should do something proper. I had a bit of time to think of things that were happening in the past, and I made some "goals" to complete in next few months or so.

Firstly, I'll be creating my own website, where I'll probably switch to blog there instead of here, I will make final note of that when the time comes. I have to see to design something that will resemble who I am and what I do.

Second, I am doing graduation project and I might continue posting here about how the project is going. Since I've decided to do that project in ASP.NET with MVC, and lately by researching a bit of how it is working I've liked so much that I will continue working most of the projects with ASP.NET for web if not completely dedicating my self to it. I will tho fix some of the projects I've done in PHP before and use it as portfolio on the webite.

And ASP.NET MVC Is something that completely fits my logic in creating websites. I've been reasearching it lately and when I realized how it worked, I got this feeling when I was 12y old and experimenting with MS-DOS while using it. I KNOW it is far from being same, but probably it has to do with the fact that C# is what felt the most close to me, then HTML and CSS are ...well yeah...what they are. I never liked doing PHP for the website. I don't know why, It never felt "enjoyable" to work with. Maybe its the syntax that's not fitting or whatever it is, I know MVC is now what gets a lot of my attention.

Either way, I'll keep writting here what I will do next so I can keep track of things and sort of give tasks to my self.

See yo!

Saturday, July 12, 2014

Programer's degree - is it really needed?

When I started programing, I thought that's all there is to it. However, when I first time began programing it wasn't really a programing at all...And I only realized that when I began my studies. Some people will say for a degree "not needed at all" and from my point of view I think that can depend on what you plan to do, what is your passion and what do you want to know. On the other hand, people who do have a degree they can't tell you its not needed because they know the difference between, what they went through and what it takes to have a good software instead of people who are programmers and how they are putting the puzzle piece's together.

How can a degree help me to make software applications better?

Once I went trough all the programing subjects on my university, like C, C#, Java, PHP, OOP, SQL, HTML, CSS, ASP.NET, WPF I thought those subjects were the most important. They probably are, meaning that you have to see the differences between them languages in order to know what are the differences between languages in syntax and class libraries and what can you expect to be different when switching to any other language that I did not mention above. But when it comes to make a software application or any program to be very good software, there are a lot of side factors that make a software good and it doesn't include programing language at all.

For example, many programmers believe that when they develop a web page, or design it as well, that graphically that webpage has to be pretty, silky and nice. But what if I told you that graphical part doesn't have to do anything with the usefulness of the web page? This might sound to some people like " Well duh! " But I sometimes get shocked when I see what people are doing for some webpages with all the amazing effects, 3D things that truly look fascinating, but when it comes to me interacting with the page, there isn't a single thing I would want to click on that page, because the info I need is no where to be seen. Or people who make web pages useful, but so ugly that you can't force your brain to bother with what's going on on that page. You might wonder now, "what is this on about?" but my point is that programers and those people who create pages like those, obviously do not know those side factors that make a web page have its purpose, usefulness and most important visitors that come back to the page and stay there to read the info they need. Shortly said "great content".

In order to make that content be great, one has to take into consideration: social media, will the content be shareable, the needs and wants of an owner who has specific reasons why something on the page or in software application will take a lot of his work, software reliability and the list goes on. There are just many things that make a great software stand out from the rest. And in most cases it can be done always with a group of people rather than individual. Sure, there are softwares individuals who can work on, but it can never be the same as with the ones who are doing it as a team.

Saturday, July 5, 2014

You wish to start programming but which language should you use?

You've decided you want to venture into this world where every programmer says different and every one of them claims one language are better then the other for various diffrent reasons. You start asking your self  "but how can I know if this guy is right and the other one is not?! why is this language better that this guy say it is then the other one?!". Truth is, some programers like so much their languages as they probably started with it and stick to it forever. I'll try to point out some differences between few languages and why I believe the programming language you should start with is...

C programming language

- Wether you are programming in Java, PHP, Python, ActionScript or C# and C++ they are all based on programming language C. Operating systems are written in C, if not they do at least posses standard libraries of C. You might be wondering "why?!" and thats probably because of the fact that C is language very close to a machine language. If you would want to program a street light, calculator, tv-remoter etc. to work with programing language, you'd probably go for C or C++. Both of them are very close to a machine except that C++ has some sorts of an object programming. I do not know the C++ very well as I never used it but being based on C things can't be far then they are in other Object Oriented Programming languages and C it self.

- Main reason why I belive if you get to start with C other languages will be much easier to get along with, is right because of that mechanic or machine language level. If you can understand why in C things are being called when you execute something, or why is compiler executing this and not that, and why pointers are calling to other pointers when you tell them to, why is the "for-loop" working the way it is and other loops as well, once you get a handle of those in C, everything else and EVERYWHERE else 90% of things are the same. What can be diffrent is...

Syntax in programming languages

- Main difference between every language is its own syntax. You might wonder "what is that?". Well the syntax of a computer language (for example: Java) is the set of rules that defines the combinations of symbols that are considered to be correctly structured documents or fragments in that language. For example, in C# you have to define a variable that remembers whole numbers by writting an "int" and giving it a value by adding "int = 5", while in PHP just write "$a = 5" or "$b = 5" or any letter but do you notice the difference? That is syntax. That is how one set of rules is documented for a C# and other one for PHP. Next to syntaxes there is also Object Oriented Programming or otherwise written as...

OOP - Object Oriented Programming

- Some languages like C, Erlang also some older languages like BASIC they do not posses this feature. What this means is that those programs run from the begining to the end. Straightforward. From top to bottom. BASIC had GOTO statement in order to skip around in a program but it was hard to do so if the program was larger. Main problem with programs like these were that you could easily loose up in code not be able to follow where is what. The answer to solve this is Objects.

- Maybe this might be a bit confusing to understand or for me to explain the whole picture but a main thing you should have in mind, for a start, is that Objects are self-contained; protecting their own data who are only accesible via an interface of the public member functions (encapsulation) which allows you to avoid mistakes you would otherwise do if you would have all in one program of 4500140284224 lines of codes... Also the inheritance allows you to write much less code allowing you to large projects manage easier.

- That is why programing languages like C#, Java, PHP, Action Script 3.0, Python and many others have a lot of classes in their libraries, as those classes are objects that are being use or you can use during your projects.


- I hope I managed to point out few of the things you will come across when dealing with programing languages and what you should have in mind when starting to code. However I am always staying open minded and I always wish to hear what other people think. Do you have better experience when starting with some other programming language? Do you think something else would have been better for a beginner? And why would you say so?