<p>I'm supposed to learn how to use <a href="http://www.ni.com/labview/" rel="nofollow noreferrer">LabVIEW</a> for my new job, and I'm wondering if anybody can recommend some good books or reference/tutorial web sites.</p>

<p>I'm a senior developer with lots of Java/C#/C++ experience.</p>

<p>I realize that this question is perhaps more vague than is intended on stack overflow, so how about this? Please answer with one book or web site and a brief description. Then people can vote up their favourites.</p>

[{'answer_id': 46945, 'author': 'Adam Davis', 'author_id': 2915, 'author_profile': 'https://Stackoverflow.com/users/2915', 'pm_score': 2, 'selected': False, 'text': '<p><a href="http://www.cipce.rpi.edu/programs/remote_experiment/labview/" rel="nofollow noreferrer">Tutorials in G</a>, also check out the <a href="http://c.webring.com/hub?ring=labview" rel="nofollow noreferrer">webring</a>.</p>\n\n<p>-Adam</p>\n'}, {'answer_id': 47014, 'author': 'Brendan', 'author_id': 199, 'author_profile': 'https://Stackoverflow.com/users/199', 'pm_score': 1, 'selected': False, 'text': '<p>The official <a href="http://www.ni.com/support/" rel="nofollow noreferrer">NI support page</a> and <a href="http://forums.ni.com/ni/" rel="nofollow noreferrer">support forums</a> are hard to beat.</p>\n\n<p>It really helps having a guru around for LabVIEW.</p>\n'}, {'answer_id': 62777, 'author': 'Swinders', 'author_id': 186, 'author_profile': 'https://Stackoverflow.com/users/186', 'pm_score': 0, 'selected': False, 'text': '<p>When I started with LabVIEW a few years ago I was given a link to the <a href="http://cnx.rice.edu/content/col10241/latest/" rel="nofollow noreferrer">LabVIEW Graphical Programming Course</a>. It covers the basics and having a sound knowledge of other programming languages I think helped me pick things up quickly.</p>\n'}, {'answer_id': 64674, 'author': 'Arc the daft', 'author_id': 8615, 'author_profile': 'https://Stackoverflow.com/users/8615', 'pm_score': 4, 'selected': True, 'text': '<p><strong>It will take some <em>training</em> and some <em>time</em> to learn the style needed to develop maintainable code</strong>.</p>\n\n<p>Coming from Java/C#/C++, you probably have a good idea of good software architecture. Now you just need to learn the peculiarities of LabView and the common pitfalls.</p>\n\n<p>For the basics, National Instruments offers <a href="http://www.ni.com/training/" rel="nofollow noreferrer">training courses</a>. See if your new employer can send you to a Basics I/II class to get your feet wet.  They offer some online classes as well.  Following classes, you can sign up to take tests for certification.</p>\n\n<p>Get an <a href="http://www.ni.com/labview/try/daq.htm" rel="nofollow noreferrer">evaluation copy</a> of Labview from National Instruments;  they have a well maintained help file that you can dive right into, with example code included.  Look at "Getting Started" and "LabVIEW Environment".  You should be able to jump right in and become familiar with the dev environment pretty quickly.</p>\n\n<p>LabVIEW, being graphical is nice, but don\'t throw out your best practices from an application design point of view.  It is common to end up with code looking like rainbow sphaghetti, or code that stretches several screens wide.  Use subvi\'s and keep each vi with a specific purpose and function.   </p>\n\n<p>The official NI support forums and knowledgebase are probably the best resources out there at the moment.</p>\n\n<p>Unofficial sites like <a href="http://www.cipce.rpi.edu/programs/remote_experiment/labview/" rel="nofollow noreferrer">Tutorials in G</a> have a subset of the information found on the official site and documentation, but still may be useful for cross reference if you get stuck.</p>\n\n<p><strong>Edit:</strong> <a href="http://sine.ni.com/nips/cds/view/p/lang/en/nid/2241" rel="nofollow noreferrer">Basics I/II</a> are designed to be accessible to users without prior software development experience.  Depending on how you feel after using the evaluation version, you may be able to move directly into <a href="http://sine.ni.com/nips/cds/view/p/lang/en/nid/12769" rel="nofollow noreferrer">Intermediate I/II</a>.  NI has the course outlines available on their website as well, so you know what you\'re going to cover in each.</p>\n'}, {'answer_id': 71466, 'author': 'Phil Brooks', 'author_id': 11833, 'author_profile': 'https://Stackoverflow.com/users/11833', 'pm_score': 0, 'selected': False, 'text': '<p>I would start with the <a href="http://wiki.lavag.org/Home" rel="nofollow noreferrer">LabVIEW wiki</a>.</p>\n\n<p>Specifically, <a href="http://wiki.lavag.org/LabVIEW_tutorial" rel="nofollow noreferrer">LabVIEW Tutorial</a>. There are lots of online references and links to LabVIEW reference books. Welcome to the world of LabVIEW!</p>\n'}, {'answer_id': 72060, 'author': 'ben', 'author_id': 7561, 'author_profile': 'https://Stackoverflow.com/users/7561', 'pm_score': 1, 'selected': False, 'text': "<p>'Arc the daft' pretty much nailed exactly what one should try to do to learn LabVIEW.  However, I would not skip Basic's I and II.  The classes do teach basic programming concepts and are geared to non-programmers, however they do cover the IDE extensively.  The LabVIEW IDE is strange coming from a text based language and spending the time in the class learning it with an instructor can really accelerate your learning.  </p>\n\n<p>I would skip Intermediate 1 if you are a seasoned developer.  Intermediate 1 tries to teach software engineering practices in the span of a three day course.  If you are studying to get your CLD you need to know the course and the terminology for the exam, otherwise I wouldn't spend my time or capital in the course.</p>\n"}, {'answer_id': 75942, 'author': 'Manoj', 'author_id': 13440, 'author_profile': 'https://Stackoverflow.com/users/13440', 'pm_score': 0, 'selected': False, 'text': '<p>I would suggest you start with <a href="https://rads.stackoverflow.com/amzn/click/com/0131856723" rel="nofollow noreferrer" rel="nofollow noreferrer">LabVIEW for Everyone</a>. Its a good book which covers the basics of LabVIEW well.</p>\n'}, {'answer_id': 155070, 'author': 'eaolson', 'author_id': 23669, 'author_profile': 'https://Stackoverflow.com/users/23669', 'pm_score': 2, 'selected': False, 'text': '<p><a href="https://rads.stackoverflow.com/amzn/click/com/0131856723" rel="nofollow noreferrer" rel="nofollow noreferrer">LabVIEW for Everyone</a> is recently revised and quite comprehensive. Other than the free stuff available on the Web, this is probably the best place to start learning the language.</p>\n\n<p><a href="https://rads.stackoverflow.com/amzn/click/com/0131458353" rel="nofollow noreferrer" rel="nofollow noreferrer">The LabVIEW Style Guide</a> is a great book on how to organize and arrange your code and files for maximum benefit. </p>\n\n<p>Object oriented programming is a recent addition to LabVIEW. The <a href="http://zone.ni.com/devzone/cda/tut/p/id/3574" rel="nofollow noreferrer">LVOOP white paper</a> explains much about how it works and why the way it is the way it is.</p>\n\n<p>It\'s a bit out of date, but LabVIEW Advanced Programming Techniques by Bitter, Mohiuddin and Nawrocki is still full of useful stuff.</p>\n\n<p>The <a href="http://forums.ni.com/ni/" rel="nofollow noreferrer">National Instruments forums</a> are a great place to go for basic help. The <a href="http://forums.lavag.org/home.html" rel="nofollow noreferrer">LabVIEW Advanced Virtual Architects</a> (LAVA) is the community forum for advanced topics.</p>\n'}, {'answer_id': 246299, 'author': 'nekomatic', 'author_id': 24447, 'author_profile': 'https://Stackoverflow.com/users/24447', 'pm_score': 1, 'selected': False, 'text': '<p>Subscribe to the <a href="http://www.info-labview.org/" rel="nofollow noreferrer">Info-LabVIEW mailing list</a>. It\'s got a lot quieter in recent times as the NI and LAVA forums have grown in popularity, but it\'s still read by some very experienced and helpful people, including people at NI, and if you can\'t find what you need elsewhere then a good question will usually get a good answer.</p>\n\n<p>The NI <a href="http://zone.ni.com/devzone/cda/tut/p/id/4434" rel="nofollow noreferrer">style guide</a>, as already mentioned, is a good reference - re-read it as you learn about more of the things it covers, it contains some densely packed good advice.</p>\n\n<p>Personal top tips: look at the supplied example code (although it\'s not necessarily perfect); learn to use queues and notifiers as soon as possible; don\'t dive in to using event structures and control references until you\'ve figured out what you can and can\'t do without them; and start small and simple - you should find it easy to reuse this code later on by repackaging it into subVI\'s as the scope of your ambitions increases. And have fun!</p>\n'}, {'answer_id': 1299362, 'author': 'Jakub Czaplicki', 'author_id': 155722, 'author_profile': 'https://Stackoverflow.com/users/155722', 'pm_score': 1, 'selected': False, 'text': '<p>For me the best way to learn LabVIEW was by analyzing the in-build examples. The best forums are NI Developer Zone Community and LAVA Forums</p>\n\n<p>LabVIEW is really easy to work with but the tricky bit is to know how to design your application so that it will not becaome a spaghetti. Once you get the basics (e.g. <a href="http://zone.ni.com/devzone/cda/tut/p/id/5241" rel="nofollow noreferrer">LabVIEW Introduction Course</a>) learn how to use design patterns, events, queues, typedefs and references. Use modular architecture, avoid big structures, try \'writing\' your code in small window.</p>\n\n<p>It is also important to know the differences between LabVIEW versions (full/pro, and ver 7.1.1, 8.2, 8.5, 8.6, 2009), how to use version control system with the vi\'s (binary files), and how to keep your files in project so that you can easily reuse any code and be "DRY" (don\'t repeat yourself), how to build executable and what LabVIEW RunTime Engine it needs (for customers), what is DAQmx and how to use it, what are VISA drivers and which version is correct for you settings, how to use Measurements &amp; Automation program..</p>\n'}]
['https://Stackoverflow.com/questions/46930', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/4794/']