Jump to content

Darkfeign

Member
  • Posts

    193
  • Joined

  • Last visited

Awards

This user doesn't have any awards

1 Follower

Profile Information

  • Gender
    Male
  • Location
    United Kingdom
  • Interests
    Computer Science: Artificial Intelligence
    Philosophy
    Anime/Music for downtime funtimes.
  • Occupation
    PhD Student

Recent Profile Visitors

977 profile views
  1. If you want to get starting in programming properly, on linux you have pretty much every possible option. I'd always suggest Python as a good place to start as it's high level enough to start making things right away, while allowing you to grasp some of the concepts useful in all other languages. You might also want to look at some functional programming which is quite different from the typical imperative programming model; Haskell, Common Lisp (CLISP on linux) are good options.
  2. For more general computing problems to solve, I'd suggest looking at: http://projecteuler.net/
  3. I can't offer any personal experience as I'm a postgraduate student, but I thought i'd provide a little insight from my experience at uni along with the experience of previous friends who now work as software engineers. You're right in being a little cautious in expecting a software engineering role to mimic univeristy. Most of our projects were individual, but in second year we had two large projects to do. One in python (where a couple people took over programming and the other team members focused on design/user interface etc.). The second was in Java and did require a fair amount of communication across the team but I still feel like, at that stage, you're more likely to wing it and implement parts that you can and have a person or two at the centre to bring all the components together properly. This is certainly not how it works as a software engineer. From what I understand from friends who have since left university and are employed at some pretty well known software companies (BT for one), pretty much everything you do is part of a team in some aspect. When you're working on larger systems, project managers will have input as to the expected design of the system, where the interfaces are all pretty much decided and so when your team begins development, while you may be given a section of the system to implement, you are still expected to communicate with your team to ensure your part of the system has been thoroughly tested and most importantly, decent consideration has been spent on the interface to ensure its compatibility with the other parts of the system. This obviously changes depending on the size of the project/organisation but you will be programming to specifications of the expected system, and when you feel this needs to change you will be discussing a lot with other members of the team to decide on the process/what to modify in the design etc. and will inevitably have people explore and research your code for various reasons to understand your methods and its functionality. I'm not sure this is particularly helpful as I can't give you an insight into the typical day of a software engineer but you're going to be a part of a team for sure, whether taking on your own tasks, or undergoing 'paired programming' and other software dev. paradigms depends much upon the organisation itself I guess. If you really enjoy programming, then find a job/environment that suits you best and while it may not always be exactly what you want to do, I'd suggest continuing to develop your interests outside of work (personal projects, open source projects etc.) to lead you to what you really want to achieve in a job.
  4. I wouldn't even use an IDE for python, least of all something as slow and bloated as Eclipse. I'd suggest either looking at the the python specific IDEs, or just using something like Sublime Text as python is pretty easy to debug so you shouldn't have any trouble writing in a text editor.
  5. I'm pretty sure he means C, as C is used quite often in Electrical Engineering because it's a tiny language to fit on the small amount of memory available on embedded systems. If not, I wouldn't really suggest C# over Java. ^ This pretty much. if you're doing well with C++, stick at it. It's so widespread and a lot of people avoid it a lot today. Even at university we saw it for a semester only, and the rest of the time we were stuck with Java which is great, but if you really understand C/C++'s low-level mechanics, that'll help you in understanding how to control your Java program more for efficiency. Java is great for avoiding the low-level and focusing on Object-Oriented methods and design patterns. If you can study design patterns and the high-level software engineering through java, and then get a decent understanding of C++, you'll be pretty well set in the future. Other languages will come easy to you then.
  6. Well, it kind of is the future, given that Python 2.7 is the final release of version 2 of Python.. so yeah. By future-proof I simply meant not having to learn Python 2 and then when the vast majority of developers leave it behind in favour of supported version that will continue to receive updates, being stuck with a less favourable version of the language.
  7. By all means, I would agree to keep mindful of the incompatibilities between the two versions, but I would always recommend picking up the newer version for future-proofing. I think most libraries are catching up on version 3 now.
  8. I'd recommend not using the python 2 tutorial and going straight to version 3 of the python language; why learn something old when you can learn it's replacement? But yeah, the game would probably be achievable using a library like PyGame once you get used to the Python language itself.
  9. Maybe you missed the Ultimate Programming Resources thread, where we've compiled a list of pretty much every well-known resource separated for different languages and interests etc. http://linustechtips.com/main/topic/14904-ultimate-programming-resources-thread/
  10. I can't remember what cin assigns to a variable now, but it may be creating an array of input, so perhaps the character you wish to use the switch on is actually at place difficulty[0]?
  11. I have the NF-A14s in the front and they are perfect. Super quiet on 5v/7v setting so you won't even notice them.
  12. Sublime Text 3 =D I really enjoy that I can open it up on Windows, Mac and Linux depending on my work situation, and find everything the same across all platforms.
  13. I would suggest looking at MinGW if you're used to a linux environment and working in Sublime Text (awesome choice of editor btw). http://www.mingw.org/
  14. Or perhaps this is an assignment? In which case they learn nothing. I'd be happy to give help where effort had been put into finding a solution.
×