Suggestions pour apprendre n'importe quel langage de programmation après Matlab
J'ai pris un cours de C++ dans ma première année de premier cycle. Toutefois, une fois que c'était fini, je n'ai jamais employé dans n'importe quel projet ou de l'utilisation. Je suis familier avec certains de la moyenne des sujets en C++ avant de où "liste de liens" commence. Une fois que j'ai eu l'occasion de faire mon premier projet après la Deuxième année, j'ai été suggérée par ma prof. pour en savoir Matlab qui est largement utilisé dans les mathématiques et l'ingénierie de projets. Mais j'entends souvent des gens que Matlab n'est pas une langue et qu'il ne peut pas prendre la place des langages de programmation comme C++, Java, Fortran, etc. Je suis également préoccupé par son incapacité à exécuter à l'aide des fichiers exécutables à la différence de Fortran, C++ etc.
Je suis désireux d'apprendre un langage de programmation:
1), Qui prend soin de ce qui précède, et d'autres, les questions qui Matlab manque dans de nombreux aspects.
2) Qui est largement utilisé et disponible dans l'industrie et les centres de recherche.
3) Qui est relativement facile et rapide à coder, et puissant dans ses capacités.
Aussi s'il vous plaît:
1) Donner les avantages et les inconvénients (plus de Matlab) pour la langue que vous suggérez.
2) La meilleure façon de l'apprendre.
3) La séquence correcte des sujets pour apprendre en sachant que je suis familier avec les concepts de la programmation.
4) Une source, ce qui est facile, bon et intéressant, à apprendre.
Merci pour vos suggestions.
- les "coûts" — en fait, sauf si vous avez besoin de quelques avancées extensions, il y a des gratuit (et open source) les solutions de rechange de MATLAB, avec la même syntaxe. par exemple, Octave.
- Peut-être que votre professeur est plus intéressé à vous de rester comme un grad-étudiant 🙂
- Concernant votre question sur les "politiques"... je dirais que vous devriez fuir les entreprises où les outils et les langues des ingénieurs d'utilisation sont définis par un certain arbitraire politique. Les équipes (et devrait) être d'accord sur un ensemble d'outils standard et de langues que tout le monde devrait utiliser. Et il peut y avoir des contraintes en matière de coûts, ou de la maturité du produit, ou des licences open source, ou de la compatibilité avec le système du client, ou toutes sortes d'autres bonnes raisons. Mais ils ne doivent jamais être mandaté par une sorte de arbitraire intouchable politique. C'est quelque chose qui s'adapte au fil du temps.
Vous devez vous connecter pour publier un commentaire.
De matlab, j'irais en python.
Tout d'abord, je tiens à dissiper un mythe. Matlab est utilisés dans l'industrie. Cependant, il n'est pas aussi commun, et est assez spécifique. Il est souvent utilisé pour le prototypage et à la preuve de mathématique de l'analyse, de ne pas déployer des systèmes à des clients. Une fois la puce mathématiciens prouver leurs idées dans Matlab, il revient aux développeurs de construire un véritable système d'elle. Que système réel est généralement fait en C,C++,Java et déployé pour le client.
Mais, d'abord, demandez-vous pourquoi vous voulez apprendre cette langue.
Rappelez-vous, la langue n'est pas vraiment un objectif en soi, c'est juste un outil pour vous rendre où vous allez! 🙂
Oui, Python est une industrie acceptable langage de programmation avec de nombreuses fonctionnalités de programmation - interprétations de la liste, duck-typing, un fort de la bibliothèque standard.
Il est assez largement utilisé, et en croissance. En particulier pour la recherche et le prototypage. Très grande échelle de systèmes encore pour la plupart en Java ou en C++, mais ceux qui sont plus difficiles langues à apprendre.
C'est python en un mot.
Et:
Matlab dispose de quelques fonctionnalités vraiment cool, mais comme une industrie langage de programmation, je n'appellerais pas ça du haut de la ligne. Toutefois, la syntaxe est probablement le plus proche de python. Python peut vous donner le vrai développement orienté objet, et a une très riche bibliothèque standard pour aller au-delà de matlabs murs.
Commencer avec un tutoriel et de passer au codage de petits projets. Déplacer vers le haut à partir de là. Apprendre par la pratique.
J'ai récemment pris à l'apprentissage de la Scala (juste 'cuz) en effectuant des problèmes à http://projecteuler.net, et ça fait plaisir! (pour une très ringard définition de plaisir)
Lire le code, lire les questions sur StackOverflow. Lire des blogs et des livres sur les concepts de la programmation - comment structurer le code, comment refactoriser, comment concevoir, etc. Ensuite, il suffit de résoudre les problèmes que vous rencontrez. Si vous le pouvez, trouver un mentor ou de poser beaucoup de questions sur DONC.
StackOverflow. Un mentor, si vous avez une accessible. L'Open source est trop bonne.
Que vous avez entendu de bêtises. Matlab est une très bonne langue, si c'est un peu étrange pour des gens qui ont été conditionnés par le FORTRAN, C ou C++. Aussi, il est très utilisé dans l'ingénierie et dans beaucoup de sciences naturelles. Votre question comme indiqué donne aucune bonne raison pourquoi vous devriez passer à autre chose à l'exception de la nébuleuse des objections de gens qui sonnent comme ils ont des axes à moudre.
Je recommande fortement que vous continuer à l'aide de Matlab jusqu'à ce qu'il cesse d'être efficace pour vous. À ce stade, vous aurez une particulier problème (mise à l'échelle, de parallélisme, de la performance, peu importe) qui on l'espère sera également représentant de problèmes que vous rencontrerez dans l'avenir. Vous serez bien mieux l'apprentissage d'une nouvelle langue à ce point que vous deviner quelle langue peut vous aider avec des problèmes inconnus que vous pourriez rencontrer dans l'avenir.
P. S. Il y a eu un certain nombre de documents sur la compilation de Matlab fichiers binaires exécutables contenant du code machine natif. Je ne sais pas si ce travail a fait sortir dans la nature encore.
Python.
La syntaxe est relativement similaire à Matlab (pas exactement, mais assez facile de s'y habituer).
Vous avez également la
matplotlib
bibliothèque python, ce qui donne à certains de Matlab fonctionnalités tout en essayant de fournir la même API (c'est à dire les noms de fonction, etc.). Cela pourrait être un point de départ pour vous de commencer à l'aide de Python, tout en restant dans un terrain familier.D'apprendre le langage Python, je recommanderais le Officiel De Python Tutoriel - qui OMI est très bon pour les débutants.
Matlab est très largement utilisé dans l'industrie à des fins scientifiques et de l'ingénierie informatique. Il a ses défauts, certes, mais il offre une bonne plate-forme pour le développement rapide d'algorithmes. Je travaille dans l'industrie de l'huile avec une équipe de recherche géophysiciens; ils utilisent tous Matlab tous les temps, le développement de calcul électromagnétique codes. De la défense, de l'automobile et de l'industrie, de plus en plus les sciences de la vie, et beaucoup d'autres sont de gros utilisateurs de Matlab. Découvrez les annonces d'emploi.
Donc, si votre seule préoccupation est d'obtenir un emploi, je suggère que votre prochaine langage de programmation devrait être Matlab -- il frappe au moins 2 de vos 3 desiderata. Je soupçonne que votre compréhension de Matlab carences en est, en partie, en fonction de votre manque de connaissance approfondie du produit.
Après avoir dit tout cela, que voulez-vous apprendre un autre langage de programmation ? Si vous souhaitez continuer à développer sci/tech/fra programmes Fortran est un bon choix, tout comme le C et le C++. Je vais laisser les autres à soutenir le C et le C++, puisque nous utilisons Fortran pour le levage lourd ici.
Le principal avantage que le Fortran a plus de Matlab est la vitesse d'exécution, où je travaille, ce qui importe beaucoup, certains de nos calculs de prendre des jours sur les 100s de processeurs. Ce qui indique un autre avantage que le Fortran a, qui est que le Fortran, par OpenMP et MPI (et similaires) est l'un des plus facilement paralléliser les langues autour de.
Pour en savoir moderne Fortran, je vous suggère le livre "Fortran 90' par Ellis et al, et le livre "Fortran 95/2003 Expliquée" par Metcalf. Puis, dans votre situation, j'aimerais commencer la traduction de certains de mes programmes Matlab en Fortran. Cela vous donnera une bonne appréciation des points forts et des faiblesses des deux langues. Vos programmes Matlab également fournir une bonne spécification de ce que votre Fortran programmes sont à faire, si vous avez les tests déjà écrit.
Bien Matlab est largement utilisé dans l'industrie pour faire des simulations et en particulier dans la R&D ministères. Bien sûr, dans une société de logiciel, vous n'allez pas vendre des scripts Matlab si le client n'a rien à voir avec Matlab.
Je pencherais pour Java:
1) indépendant de la Plateforme, facile à utiliser. Comme vous l'avez dit, Matlab est un langage de script qui vivent dans un logiciel, de sorte que les avantages de n'importe quelle langue sur Matlab devrait être évident. (Si vous pensez à des applications en dehors de l'ingénierie et de la simulation du monde).
2) l'Utilisation de la langue et de la programme de!
3) Prendre un peu de projet et de commencer à travailler sur elle. La meilleure façon d'apprendre est de le faire.
4) Pour être honnête, acheter un bon livre et de l'utilisation de Google. En fin de compte, c'est ce que je ferais, même si l'on pouvait aller et de parler des pages et des pages sur ce qui est en théorie la meilleure façon de le faire.
Salutations,
Si c'est le cas, alors les gens autour de vous sont souvent mauvaises. Matlab est un véritable langage de programmation. Il ne va jamais remplacer C++ ou Java, car ils sont utilisés pour des choses différentes. Mais Matlab fonctionne très bien pour le genre de travail, il est conçu pour faire.
J'ai surtout utilisé Matlab pour les calculs lorsque j'ai été l'obtention de mon diplôme en physique. Maintenant, je ne basé sur le web de développement pour la plupart à l'aide de C# et ASP.Net. Mais peut-être que ma transition est atypique.
Ma recommandation est la suivante: Trouver un secteur que vous voulez travailler, regarder la liste des offres d'emploi, et de voir quelles sont les langues qu'ils demandent. Ensuite, apprendre l'un de ceux-ci. Dans mon expérience, il n'est pas trop dur d'en apprendre suffisamment pour décrocher une position d'entrée-niveau, et puis vous allez en apprendre beaucoup plus au cours de votre emploi.
Un autre vote pour python ici, à partir d'un gros utilisateur de deux Matlab et Python. Une chose que personne encore mentionné, c'est que les deux langues jouent très bien ensemble, et est compatible forces.
Je vais souvent utiliser des scripts python pour pré-traiter les données qui seront transmises à Matlab (python fonctions d'analyse sont beaucoup plus agréable à travailler que Matlab est à mon avis). Ou je vais utiliser python pour simuler un processus (depuis notre système de production est en C++ et python), et l'utilisation de la représentation graphique et l'analyse de la puissance de Matlab pour gérer l'affichage visuel ou de l'analyse statistique.
Aussi, comme Stephen mentionné, dans l'industrie, Matlab est souvent utilisé dans l'étape de prototype. Les concepts sont ensuite convertis en une autre langue; en ma compagnie, que d'autres le langage python, et la traduction de l'un à l'autre est généralement très simple.
Python est aussi un langage de scripting pour la ligne de commande d'automatisation, de gestion de fichiers, etc... (pensez à bash de remplacement), c'est donc un langage de qualité à avoir dans sa boîte à outils.
Malade il suffit de jeter un script JavaScript dans le mix ici tout simplement parce qu'il est le plus couramment installé langue dans le monde. Sa prend de l'ampleur non l'installation dans le navigateur. Je prédis il y aura un manque réel de la qualité JS programmeurs dans les prochaines années.
Personnellement, je ne recommande Java.
Adv:
1) plus Facile à apprendre par rapport à C++
2) Puissant et à jour, avec beaucoup de bibliothèques à utiliser et un large éventail de fonctionnalités
3) Il est mature et stable, adapté pour la recherche
4) très bien documenté
inconvenients:
1) pas le plus rapide des enfants autour de
La meilleure façon de l'apprendre:
: lire un livre, et avec, peut-être réécrire un de vos projet
La séquence correcte des sujets pour apprendre en sachant que je suis familier avec les concepts de la programmation:
: nouveau obtenir un bon livre. il devrait être tous là.
Une source, ce qui est facile, bon et intéressant, à savoir à partir de:
: nouveau obtenir un bon livre. et Google et Java site officiel de l'
Vous pourriez commencer une autre question pour le bon Java livre pour les débutants. Je suis sûr que vous aurez beaucoup de bonnes réponses
Si vous choisissez Python, Dive into Python est une bonne source. De nombreux exemples ont une pratique de la saveur, et vous pouvez obtenir gratuitement une copie électronique du livre.
La langue que vous devriez apprendre dépend de ce que votre projet de recherche comporte. Si vous faites beaucoup de numérique de travail, puis MATLAB, R et Python sont les trois évident langues de travail.
Python a été mentionné fréquemment dans les réponses, donc je vais juste rapidement toucher à R. R est libre, logiciel open source qui est la de facto langue de la statistique et de l'analyse des données. Il a aussi (à mon humble avis) le meilleur de données-vis des outils de autour de.
Vous autre option est d'apprendre de la web-programmation, car il est très utile d'être en mesure de partager vos recherches avec d'autres personnes via une application web. Essayez de codage HTML de base, puis se regarde dans un framework JavaScript comme jQuery.
Si vous n'êtes pas un logiciel de dev, alors oubliez les langages compilés comme le Fortran et le C variantes (C++/C#/Java). Vous n'aurez pas besoin d'eux.
En termes d'apprentissage de la programmation, c'est presque toujours la peine de prendre un coup d'oeil à Logiciel De Menuiserie.