Si tu veux développer des programmes
à la fois pour Mac OS X et Windows, tu devras faire des choix techniques draconiens qu'il te faudra ensuite assumer, car les deux systèmes sont très différents, tant au niveau de l'interface graphique que du système de fichier ou de l'accès aux périphériques, notamment.
Cette différence a toujours constitué un frein énorme au portage sur Mac des applications développées sous Windows. C'est d'ailleurs la cause principale du monopole actuel de Microsoft (les raisons en sont économiques, puisque, pour faire simple, ça coûterait trop cher aux développeurs de "switcher").
Dès que tu touches au système, tu dois absolument utiliser des librairies ou des modules externes spécifiques à Mac OS d'une part et à Windows d'autre part. Tu dois également souvent adopter des philosophies de développement différentes.
Suivant le langage et l'outil de développement choisis, les librairies en question (quand elles existent) sont intégrées à l'unité d'exécution (interpréteur ou programme compilé

, et des accès au système peuvent aussi parfois être envisagés au travers de composants logiciels adéquats.
Alors avant de te lancer sur une voie ou sur une autre, il faudrait que tu fasses un bilan. Demande-toi :
1) ce que tu veux faire
2) comment cela pourrait être réalisé sur l'un
et l'autre des systèmes
3) et enfin seulement, quels outils sont effectivement à ta disposition pour le faire, et à quel coût (prix, temps de formation, temps de développement)
Ce n'est qu'à la fin que tu pourras voir si tu utiliseras C, Java, Python, Javascript ou tout autre langage.
Dis-toi seulement que si les programmes sont trop compliqués (trop "compromis" avec un système ou un autre), il est plus rentable de les réécrire totalement. C'est un vieux développeur (25 ans de métier) qui te l'affirme.