+1 (315) 557-6473 

About Me (Neil Harding) - Lead Programming Tutor at programmighomeworkhelp.com

For the past 30 years I have been programming in different languages from low level such as assembly to high level as java and functional language such Haskell.

My Favourite Programming Language

I tend to do the assembly language homework myself as I have 20 years of experience in assembly language and I am familiar with almost all of the processors used, and even ones like LC3 it only took me a few days to learn. In assembly language you have to deal with the details, there is no string handling, no arrays, and even math operations need to be handled a single step at a time. Although you may never need to program in assembly once you get a job, it is useful as it can help when debugging a language such as C/C++ allowing you to debug the generated code. Many assembly language homework is run on a virtual machine so that you don’t need to worry about the program crashing and doing something unexpected.

I used to write games in assembly language for a living, and so I can handle the most complicated homework, and I have solved programs such as a Sudoku puzzle solver although most homework is much simpler and only involve simple calculations or string manipulation. I fully comment on the assembly language code, not in terms of what the instruction is doing, but in what the intent is. Often I write code with the C equivalent in comments if the code is particularly complicated.

For assembly language that involves hardware as well, those are completed by our experts as building circuits is out of my field and so we make sure that we have experts who are familiar with building digital circuits. Even lower than assembly language is VHDL which deals with building microprocessors themselves, this is outside my field so we use one of our experts for this homework.

Oh, say can you C?

A step up from assembly is C, which is often called portable assembly. You deal with raw access to memory using pointers, but the advantage is that you can write programs that use the machine to their full capacity. I’ve found that most homework in C also are run under Linux as Linux was designed to be used with C. Linux treats everything as files so you can use the same code to view a webcam as you can to view a file, which simplifies the development of software.

Linux also allows you to fork a process that is simpler than using threads, the program splits into 2 and the parent and child can communicate with each other. The most common C homework we seem to get is to write a replacement shell, with some commands implemented internally but most of them just call the existing binaries. Writing a shell also involves dealing with pipes that allow you to pass the output of 1 command as the input of another.

The most complicated C homework tends to involve either multiple threads and synchronizing them, or the equivalent using multiple processes. I specialize in Windows, so most C homework are done by our experts, but I occasionally do some homework where the code is not specific to the operating system.

There is a big difference between C and C++, although most C code will run unchanged in a C++ context, a C++ homework will be expected to use features such as object orientated code and templates, but an understanding of C will help you when you use C++.

It’s not snakes on a plane, but look out for the Python.

Many universities are now using Python as an introductory programming language. Although it is being taught at an introductory level, it does not mean that it is something you will not use throughout your career. Although Python does not perform as quickly as languages such as Java or C/C++ the development time means it is great for initial development and also for tasks where the performance is not an issue.

Due to its simple syntax, Python is used for people in non-computing-related courses, such as bio-informatics as well as being common in AI. It uses indentation as a control structure, so there are no keywords such as begin/end or symbols such as { }. Python has a hash map and sets built into the language, rather than having to include a library. In addition, it also has decorators which allow you to call methods each time a specific function is called, and generators that enable you to deal with potentially infinite sequences. It has an extensive library of packages that can be installed that deal with all sorts of fields, such as symbolic mathematics, conversions between units, website development.

I learned Python a few years ago, when I was working on homework, it’s the fastest programming language for development that I’ve found, you can write code in about half as many lines as you would in C++ or Java but in addition, you end up with code that looks more like pseudo-code and is readable by nonprogrammers.

The fact that code is quicker to write and also at a lower level means we can charge less for these homework than any others, and I often do these ones myself unless it requires domain-specific knowledge such as bio-informatics, or statistics.

Time for a brew of hot Java.

Java is designed to be run on multiple platforms, so rather than an executable file you end up with a JAR file (which is just a zip file, with a different extension), which will run in a virtual machine. Unlike C/C++ it is much easier to write a GUI application as there is a standard library included with Java but C/C++ needs an external one.

Writing an application that uses a GUI is much more complicated than a command-based one, as the user can have many more different interactions with the UI when using a GUI rather than a text-based UI. You also have a great deal of flexibility when writing a GUI application, I had to write 6 versions of the same homework(friends referred other friends) and I managed to use different algorithms, different ways of initializing the GUI, and interacting with the GUI as we write each homework from scratch.

Java uses a garbage collector for dealing with memory, so you allocate memory but you don’t need to free it, and it offers much less scope for customization compared with C/C++. You can’t treat an object allocated as 1 type as another type (with limited exceptions), which is different than C/C++.

Although not as common as it used to be, there are some courses that still teach JSP (Java Server Pages) to provide a dynamic website. This is often used in conjunction with JDBC which allows you to connect with a SQL server and use a database for persistence. Applications such as Open Office are written in Java, so it is quite capable of producing commercial-grade software.

In addition to regular Java, Android uses its own version for development on mobiles, which we also have completed homework on.

There’s a reason no one uses it.

Functional programming languages are the latest fad, and we have a limited number of experts who are familiar with them. There are some strong theoretical advantages to functional programming as it is very amenable to parallel processing as you can’t change the value of variables. The main problem is that almost all programs are not pure, and need to have input from the user or from files, which means that they need to use some nonfunctional code anyway. We tend to get homework in Ocaml, Scheme, and Haskell rather than F# and other functional programming languages. We have to charge slightly more for homework in these languages as it is hard to find people who are able to work on them.

One interesting programming language is Prolog, and we have been getting some homework on this. In Prolog, you don’t so much write a program to solve a problem, but instead, describe the problem and let the computer find solutions. Prolog allows you to solve logic-type puzzles quite easily, but it is not much used outside of academia and again there are a limited number of people able to complete this homework.

I’m not sure whether Matlab should be in this section or not, it is a powerful programming language but it is also very expensive if you are not using the student edition. Matlab can handle large matrices with ease and uses a different syntax than most other programming languages. It also has toolboxes that allow you to add additional features such as physical simulation with Simulink. Due to the cost of Matlab, we have to charge more for this homework as the cost limits the number of people who are willing to work on the homework.