Basic is OK for PC stuff although I would not suggest it if you plan on coding for the DS or want code to be able to run (either with a recompile or minor tweak) on another system, you also run the risk of learning some bad habits which can take a while to unlearn.
Second what do you want to code?
If it is an emulator or to a lesser extent port then ASM and c (c++ may not work too good for such things), I would not suggest such a project for anyone inexperienced with a system let along coding.
If it is a nice app for the end user then palib may be of interest:
http://www.palib.info/
Also some find it nicer to start on the GBA, the DS hardware is not entirely dissimilar but current tools and libraries make short work of that.
If you do want to jump of the deep end then devkitpro is the way to go:
http://www.devkitpro.org/
Way I see it is that there are three main languages for the DS
ASM/assembler/assembly: this is the highest performance yet hardest to produce results with. It has the added bonus of making you able to hack commercial roms however. ASM on GBA, DS, Windows, linux is all different as well, ASM can even vary between assembler (the devkitpro assembler is different to the assembler used for stuff like pocketnes and nesDS).
C: Efficient, nice enough to learn, can and is used on many systems.
C++: As you might imagine it is a tweak on C (to the extent a coder that uses one can certainly read the other and with minimal delay pick up the other). Not quite as efficient (not that you will really notice) but has a bunch of nice features over C.
*You can mix languages: ASM is often used for high performance parts of C? apps and is taught so people can be better C? programmers*
C#: not for the DS, this is microsofts second take on C (they were instrumental in C++ uptake). It aims to reduce the so called DLL hell by providing some standard ones as well as a few choice classes (including some nice GUI stuff): this is why you need .net on your machine.
Autoit: another windows only language. Used to make nice GUIs such as batchdpg and a few as yet unreleased projects of my own: I imagine the sort of app you will make will need it). Bonus of not needing a runtime on your machine.
Kyuzumaki took basic already.